类型转化,运算符 & Scanner
这算是学习+复习第二天
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
高容量类型转到低容量类型的时候,强制转换
-
转换时候可能存在内存溢出,或者精度问题
eg:
System.out.println("==========");
System.out.println((int)23.7); //输出结果 23
System.out.println((int)-25.7f); //输出结果 -25
System.out.println("===========");
char c='a';
int d=c+1;
System.out.println(d);
System.out.println((char)d);
//Java 7 新特性,数字之间可以用下划线分割
int money=10_0000_0000;
int years=20;
int total= money* years; //total=-1474836480,计算的时候溢出了。
long total2= money * years; //同样是-1474836480,在转换前默认的是int。
long total3=money * ((long)years);//20000000000,先转换一个数为long,计算时就会转为long计算。
运算符
扩展赋值运算符 :+=,-=,*=,/=
条件运算符: ?:
位运算符:&,|,^.~.>>,<<,>>>
逻辑运算符:&&,||,!
关系运算符:>,<,>=,<=,==,!=,instaceof
赋值运算法:=
算术运算符:+,-,*,/,%,++,--
示例:
```java int b=a++;//先赋值再自增 int c=++a;//先自增,再赋值 //幂运算 Math.pow(3,2);//3*3 ``` ```java //与或非 boolean a=true; boolean b=false; System.out.println("a && b:" +(a&&b)); //真真为真,真假为假 System.out.println("a || b:"+(a||b)); //有一个真则为真 System.out.println("!(a && b):"+!(a&&b)); //假作真,真作假 ``` ```java /* A= 0011 1100 B= 0000 1101 A&b = 0000 1100 A|B = 0011 1101 A^B = 0011 0001 ~B =1111 0010 2*8=16 2*2*2*2 << 左移 操作相当于 *2 >> 右移 操作相当于 /2 0000 0000 0 0000 0001 1 0000 0010 2 0000 0100 4 0000 1000 8 0001 0000 16 */ System.out.println(2<<3); //2左移3位 ``` ```java int a=10; int b=20; //字符串连接符 + ,有String则后面则是拼接 System.out.println(""+a+b); // System.out.println(a+b+""); ``` ```java //x ? y :z //如果x==true,则结果为y,否则结果为z int score = 80; String type=score < 60 ?"不及格":"及格"; System.out.println(type); ```
创建scanner
Scanner scanner=new Scanner(System.in); String str=scanner.next(); String str=scanner.nextLine(); scanner.close();
凡是属于IO流的类如果不关闭会一直占用资源,所以用完就关掉。
关闭Scanner
以Enter为结束符,也就是说返回的结果是输入回车之前的所有字符,可以获取空格。
nextLine() 输出内容
next()不能有带空格的字符串,比如Hello World的输出结果Hello,会忽略空格后的内容.
next()输出内容

浙公网安备 33010602011771号