1.转义字符
2.注释
单行注释(//)、多行注释(/* */)、文档注释(/** */)
ctrl+/注释快捷建,再次输入取消注释
3.变量
(细节跟c语言大致一样)
4."+"的使用:
1.当左右两边都是数值型时,则做加法运算
2.当左右两边有一方为字符串,则作拼接运算
5.数据类型:
1.整数类型
相关细节
1.每种整型所占的存储空间不受操作系统的影响
2.java的整型常量默认为int型,声明long(long num = 1000l)型常量须后加‘l’或‘L’
2.浮点型
说明:浮点数在机器中的存放形式如下:浮点数=符号位+指数位+尾数位。其中尾数部分可能丢失造成精度损失(小数都是近似值)
相关细节
这里的第五点要注意!!8.1/3输出是2.6999999997一个很接近2.7的数这是计算机的问题不是数学的问题。因此当我们运算结果是小数的进行相等判断时,应该是以两个数的差值的绝对值,在某个精度范围内判断
3.字符类型
要想知道当前字符对应的asca码值可以直接用int强制转化。
4.布尔类型
没啥好介绍的。。。。。。
5.基本数据类型转换
1.自动转换
比如:int num = ‘a’由于char的精度比int小所以是可以自动转化的,此时的num为97.
同理:double d1=80,int的精度比double小也可以实现自动转换,此时d1为80.0。
2.自动转换使用细节(注意事项)
1.有多种类型的数据混合运算时,系统首先自动将所有的数据转换成容量最大的那种数据类型,然后再进行计算。
int n1 = 10;//ok
float d1 = n1 + 1.1;//1.1的默认数据类型时double
/*错误!!因为n1+1.1=>结果类型是double,
double的精度比float大不能自动转换*/
//解决办法
float d2 = n1 + 1.1f;//结果类型为float
2.当我们把精度大的数据类型赋值费精度小的数据类型时,就会报错,反之就会进行自动转化。
3.(byte,short)和char之间不会相互自动转换)例如:一下代码就是不成立的。
byte b1 = 10;
char c1 = b1;//no
short b1 = 10;
char c1 = b1;//no
4.byte,short,char 他们三者可以计算,在计算时首先转换为int类型。(无论数据类型是否相同)
byte b2 = 1;
byte b3 = 2;
short s1 = 1;
short s2 = b2 + s1;
//错。b2+s1=>int,为int精度比short大。
byte b4 = b2+b3;
//错,哪怕b2和b3的数据类型相同也要转换成int进行计算//
5.boolean类型不参与转换。
3.强值类型转换
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型,使用时要加上强制类型转换符()。但可能造成精度降低或者溢出。
int n1 = (int) 1.9;
System.out.println("n1=" + n1);//精度损失只输出了整数位
int n2 = 2000;
byte b2 = (byte) n2;
System.out.println("b1=" + b2);//数据溢出
相关细节
1.当进行数据的精度大小,从大->小,就需要使用强制类型转换。
2.强转符号值针对于最近的操作数有效,往往会使用小括号提升优先级。
int x = (int)10*3.5+6*1.5;
//错误,此处只会把10转换成int型,但等于号后面会自动转换成浮点型
int y = (int)(10*3.5+6*1.5);
//使用小阔号提升优先级
System.out.println(y);
3.char类型可以保存int的常量值,但不能保存int的变量值需要强转。
char c1 = 100;//ok
int m = 100;//ok
char c2 = m;//错误
char c3 = (char)m;//ok
System.out.println(c3);//ok
4.byte和short类型在进行运算时,当作int类型处理
6.string和基本类型转化
1.基本类型转换为string类型
语法:将基本类型的值+“”即可。
int n1 = 100;
float f1 =1.5F;
double d1 = 4.5;
boolean b1 = true;
String s1 = n1+"";
String s2 = f1+"";
String s3 = d1+"";
String s4 = b1+"";
2.String转换为基本数据类型
语法:通过基本类型的包装类调parseXX方法即可。(在java中每个基本数据类型都有对应的包装类,调用包装类的parse方法就能实现转换)
String s5 = "123";
int num1 = Integer.parseInt(s5);
double num2 = Double.parseDouble(s5);
float num3 = Float.parseFloat(s5);
long num4 = Long.parseLong(s5);
byte num5 = Byte.parseByte(s5);
boolean b = Boolean.parseBoolean("true");
short num6 = Short.parseShort(s5);
/* 运行结果为
num1 = 123 num2 = 123.0 num3 = 123.0
num4 = 123 num5 = 123 b = true num6 = 123
*/
补充:注意字符型不能直接转,只能在字符串中提取字符型s5.charAt(0); 这个代码表示提取字符串中的第一个字符。
注意事项:
1.在将String类型转成基本数据类型时,要确保Sting类型能够转成有效的数据,比如:我们可以把“123”,转成一个整数,但是不能把“hello”转成一个整数。
2.如果格式不正确,就会抛出异常,程序就会终止,这个问题在后面学习异常处理时会详细讲到。