java基础1
来源:互联网 发布:太阳能发电原理知乎 编辑:程序博客网 时间:2024/05/16 18:33
jdk jre jvm 之间的关系:
jdk 包含 jre
jre 包含 jvm
补充:jdk 包含很多组件:jar jdva javadoc;开发java程序使用例如编译java文件生成帮助文档等
jre jar 跑起来需要的环境,提供java程序运行时的环境;例如多态
jvm java虚拟机操作系统上层环境,是一种规范实现,jvm 就相当于屏蔽了底层操作系统的差异,实现了跨平台。
包名:多单词组成都是小写xxxyyyzzz
类名(接口名):均首字母大写XxxYyyZzz
变量和函数名:驼峰标识xxxYyyyZzz
常量:所有字母大写下划线间隔 XXX_YYY_ZZZ
3.注释(单行,多行,以及java特有的注释/** */)
4.常量和变量:
常量:固定不变的数值
1.整数常量:(1)十进制0-9(2)八进制0-7逢八进一0零开头(3)十六进制0-F(0123456789ABCDEF)0X零埃克斯
2.浮点型常量
3.布尔型常量:true false
4.字符常量:加上'' 标识为字符常量(字母数字常量),单引号只能封装一个字符
5.字符串常量"XXXX"
6.null常量,只有一个数值就是null
变量:不确定的内存中存储空间可以被重用,当数据不确定的时候使用
5.运算符
6.语句
7.函数
8.数组
byte 2字节 表示2的八次方表示256个数,-128 —— 127 因为java有符号0也是正数
Integer.toBinayString();转2进制
Integer.toHexString(); 转16进制
Integer.toOctalString(); 转8进制
不用浮点数比较
float f = 0.1f;
double d = 10 / 100;
System.out.println(f - d == 0); //false;
注意使用BigDecimal
char 类型 \转义字符
\t制表符
\"双引号
\\斜杠
\单个无效
boolean
if(b) {// ture}
if(!b) { //false}
类型转换
类型小的(范围例如 long --float)自动转换为容量大的
类型大的转换为类型小的注意继承,父类引用指向子类对象;基本类型直接强转即可
注意: 可以以内存大小理解,范围大的可以强转为类型小的,因为类型小的内存分配小,大的类型容量完全足够,
然而小的内存不足以强制转换为大的内存类型如:Father f = new Father(); Child c = new Child();
c = (Child)f; 错误 可以理解为 父类1内存,子类0.5内存,但是new Child() 1.5内存,包含了一个父类实例化,
然后父类的引用大小为1内存,那么强制转换为1.5内存是内存不够实例化的。
long l = 2000000000*2 编译及运行不错,但是int * int 还是int但是超出了int 范围,付给了long 所以是负数。
long l = 2000000000L*2*2; 与 long l = 2000000000*2*2L 不同, 后者已经溢出再×2
System.out.println(l);
类型转换:
小的类型总是像大的转换:
byte b = 2; // 2常量(固定的值),在byte范围内。自动转换处理了
b=b+2;// 1字节提升到4字节,再付给1字节就挂掉 //类型自动提升但未作强制类型转换处理
b+=2; //自动完成了强制转换
强制转换:
类型 变量 = (类型)(变量)
b = (btye)(b + 2);
但注意 b= (byte)b+2; 是强制转换的b
eg. float - int 去小数
(char)4 对应 ascii表字符
System.out.println(-12%5); -2
System.out.println(12%-5); 2
System.out.println(-12%-5); -2
结论只看被模数(只取决于左边数字的符号)
a++ --- a= a+1;
b = a++; ==== b = a; a = a+1;
b = ++a; ==== a = a+1; b = a;
转义字符:通过\转换一个字母后边的含义
\r 回车键
\n 换行符
\t 制表符 相当于tab
\b 退格键相当于backspace
Linux 中 换行一个字符\n
Windows中回车符\r\n
<< 相当于 *2 次幂
>> 相当于 /2 次幂 最高位补什么由原有最高位值而定,若为0 则 0 补,若为1 则1补
>>> 无符号右移 0 补空位
一个数异或一个数两次还是原来的那个数^ System.out.println(3 ^ -2 ^ -2);
int i = 2;
int j = 3;
// i = i + j;// 2 + 3 = 5
// j = i - j;// 2
// i = i - j;
System.out.println(i);
System.out.println(j);
i = i ^ j;
j = i ^ j; // i ^ j ^ j 一个数异或一个数两次还是那个
i = i ^ j ;// (i ^ j) ^ (i ^ j ^ j); 此时j就是i 一个数异或一个数两次还是原来的书
if
if else
if else if else 判断满足一个if 则不会继续 因为是一个完整的体系
每个格式都是一个完整的体系
switch注意:1.byte short int char String enum
2.case default 没有顺序关系,先执行第一个case,当没有匹配case则执行default
3.switch 结束分两种情况,1遇到break2程序走完
4.程序无对应case 或 default 无break 则程序将继续向下运行(不判断case)可运行的语句直到程序走完
switch () {
case:
break;//跳出switch
case:
case:
case:
break;
default:
}
jdk 包含 jre
jre 包含 jvm
补充:jdk 包含很多组件:jar jdva javadoc;开发java程序使用例如编译java文件生成帮助文档等
jre jar 跑起来需要的环境,提供java程序运行时的环境;例如多态
jvm java虚拟机操作系统上层环境,是一种规范实现,jvm 就相当于屏蔽了底层操作系统的差异,实现了跨平台。
1.关键字(java赋予特殊含义的单词)
2.标识符:自定义的类名方法名,变量等26个字母大小写,数字0-9以及_$;但是数字不能开头,且不能使用关键字,严格区分大小写(main不是关键字,但是确实被虚拟机识别的名称比较特殊)包名:多单词组成都是小写xxxyyyzzz
类名(接口名):均首字母大写XxxYyyZzz
变量和函数名:驼峰标识xxxYyyyZzz
常量:所有字母大写下划线间隔 XXX_YYY_ZZZ
3.注释(单行,多行,以及java特有的注释/** */)
4.常量和变量:
常量:固定不变的数值
1.整数常量:(1)十进制0-9(2)八进制0-7逢八进一0零开头(3)十六进制0-F(0123456789ABCDEF)0X零埃克斯
2.浮点型常量
3.布尔型常量:true false
4.字符常量:加上'' 标识为字符常量(字母数字常量),单引号只能封装一个字符
5.字符串常量"XXXX"
6.null常量,只有一个数值就是null
变量:不确定的内存中存储空间可以被重用,当数据不确定的时候使用
5.运算符
6.语句
7.函数
8.数组
byte 2字节 表示2的八次方表示256个数,-128 —— 127 因为java有符号0也是正数
Integer.toBinayString();转2进制
Integer.toHexString(); 转16进制
Integer.toOctalString(); 转8进制
不用浮点数比较
float f = 0.1f;
double d = 10 / 100;
System.out.println(f - d == 0); //false;
注意使用BigDecimal
char 类型 \转义字符
\t制表符
\"双引号
\\斜杠
\单个无效
boolean
if(b) {// ture}
if(!b) { //false}
类型转换
类型小的(范围例如 long --float)自动转换为容量大的
类型大的转换为类型小的注意继承,父类引用指向子类对象;基本类型直接强转即可
注意: 可以以内存大小理解,范围大的可以强转为类型小的,因为类型小的内存分配小,大的类型容量完全足够,
然而小的内存不足以强制转换为大的内存类型如:Father f = new Father(); Child c = new Child();
c = (Child)f; 错误 可以理解为 父类1内存,子类0.5内存,但是new Child() 1.5内存,包含了一个父类实例化,
然后父类的引用大小为1内存,那么强制转换为1.5内存是内存不够实例化的。
long l = 2000000000*2 编译及运行不错,但是int * int 还是int但是超出了int 范围,付给了long 所以是负数。
long l = 2000000000L*2*2; 与 long l = 2000000000*2*2L 不同, 后者已经溢出再×2
System.out.println(l);
类型转换:
小的类型总是像大的转换:
byte b = 2; // 2常量(固定的值),在byte范围内。自动转换处理了
b=b+2;// 1字节提升到4字节,再付给1字节就挂掉 //类型自动提升但未作强制类型转换处理
b+=2; //自动完成了强制转换
强制转换:
类型 变量 = (类型)(变量)
b = (btye)(b + 2);
但注意 b= (byte)b+2; 是强制转换的b
eg. float - int 去小数
(char)4 对应 ascii表字符
System.out.println(-12%5); -2
System.out.println(12%-5); 2
System.out.println(-12%-5); -2
结论只看被模数(只取决于左边数字的符号)
a++ --- a= a+1;
b = a++; ==== b = a; a = a+1;
b = ++a; ==== a = a+1; b = a;
转义字符:通过\转换一个字母后边的含义
\r 回车键
\n 换行符
\t 制表符 相当于tab
\b 退格键相当于backspace
Linux 中 换行一个字符\n
Windows中回车符\r\n
<< 相当于 *2 次幂
>> 相当于 /2 次幂 最高位补什么由原有最高位值而定,若为0 则 0 补,若为1 则1补
>>> 无符号右移 0 补空位
一个数异或一个数两次还是原来的那个数^ System.out.println(3 ^ -2 ^ -2);
int i = 2;
int j = 3;
// i = i + j;// 2 + 3 = 5
// j = i - j;// 2
// i = i - j;
System.out.println(i);
System.out.println(j);
i = i ^ j;
j = i ^ j; // i ^ j ^ j 一个数异或一个数两次还是那个
i = i ^ j ;// (i ^ j) ^ (i ^ j ^ j); 此时j就是i 一个数异或一个数两次还是原来的书
if
if else
if else if else 判断满足一个if 则不会继续 因为是一个完整的体系
每个格式都是一个完整的体系
switch注意:1.byte short int char String enum
2.case default 没有顺序关系,先执行第一个case,当没有匹配case则执行default
3.switch 结束分两种情况,1遇到break2程序走完
4.程序无对应case 或 default 无break 则程序将继续向下运行(不判断case)可运行的语句直到程序走完
switch () {
case:
break;//跳出switch
case:
case:
case:
break;
default:
}
0 0
- Java基础--基础语法1
- Java基础-1、基础语法
- 1-1 java基础
- java基础(1)
- Java基础学习1
- JAVA基础1
- java基础(1)
- Java 基础题1
- java基础1
- Java线程基础1
- java基础1、2
- java基础整理1
- java基础加强1
- java基础1
- Java基础1 概述
- java基础加强1
- java基础笔记1
- java 基础1
- Canvas之基本形状操作
- Java中Boolean与boolean的区别
- 5.6 Column Attribute
- cc254x的外部32.768k晶振
- IR的设计
- java基础1
- 【java并发】条件阻塞Condition的应用
- Android 创建第一个jni文件
- JavaScript中函数的定义方式
- php 数组操作(jcxn实践)
- 浅谈Android和java中的多线程下载
- Android 使用service实现多线程断点续传下载
- MySQL 如何查看SQL 语句执行时间
- 使用搬瓦工bandwagonhost VPS安装Shadowsocks Server