华杉研发九学习日记1
1.1复习:数据类型转换
//数据类型自动转换 小精度->大精度【提升精度】
int a=23;
System.out.println(a);
double b=a;
System.out.println(b);
//字节小->字节大 【扩大空间】
byte by =22;
System.out.println(by);
short s=by;
System.out.println(s);
int in=s;
System.out.println(in);
long lo=1212411; //8
float f=lo; //4 自转 先看精度,再看空间
System.out.println(f);
float f1=22; //自转
double d1=22.3f; //自转
double d2=21313L; //自转
//byte->short->int->long float->double
//整数类型->浮点类型
char c1=48;
System.out.println(c1);
char c2='a';
int n=c2;
System.out.println(n);
//强转 高->低
int a1=111;
byte b1=(byte)a1;
System.out.println(a1);
int a2=65;
char c3=(char)a2;
System.out.println(c3);
2.1算术运算符
//数据结果类型
//如果参与运算的类型有小数类,数据结果为参与运算的最大的小数类型
//如果只有整数类型,则为最大。。。。。
//byte,short,char一旦参与运算,则会自动提升为int类型。
int a=111;
//拼接符 +
System.out.println("a="+a);
//运算逻辑
System.out.println("MyAge:"+10+11); //从左到右先实现字符串和10的拼接,再拼接11
System.out.println("MyAge:"+(10+11)); //先计算括号里面的10+11,再进行字符串和数字的拼接
System.out.println(100+100+"yuan"); //从左到右
//赋值
byte b=21;
//b=b+5; 错误 要考虑数据类型的不同,这里的5属于int类型,b无法接收
b+=5; //在自身基础上进行值的增加,
System.out.println(b);
//自增/减
int aa=3; //++aa 先加1再赋值 aa++先赋值再加1
int bb=++aa + aa++ + ++aa; // 4 + 4 + 6
System.out.println(aa);
System.out.println(bb); // 14
2.2逻辑运算符
boolean b1=true;
boolean b2=false;
// & 逻辑与(一假则假) |逻辑或(一真则真)
System.out.println(b1&b2);
System.out.println(b1|b2);
// && || 效率高
System.out.println(b1&&b2);
System.out.println(b1||b2);
// ^ !
System.out.println(b1^b2); //异或 不同为真,相同为假
System.out.println(!b1); //取反
2.2.1 逻辑与&:三部曲
1.先判断左侧的结果是true还是false
2.再判断右侧的结果是true还是false
3.整合左右的数据获取结果
2.2.2 短路与&&:不是三部曲
1.判断左边是否false,如是则得结果false,结束
2.再判断右边是否false,如是则得结果false,否则为true
int a=5;
boolean b3=(a<4)&&(++a<6);// 前面为false ++a不执行
//boolean b3=(a<4)&(++a<6);前后面都执行 a的值发生变化
System.out.println(a);
System.out.println(b3);
1.3.3 使用逻辑运算符进行判断
//定义一个变量并赋值,判断是否是1--100之内的数据
int a =55;
boolean b1=a>=1;
boolean b2=a<=100;
boolean b3=b1&&b2; //用布尔变量接收判断得到的结果
System.out.println(b3);
System.out.println((a>=1)&&(a<=100));//直接输出逻辑运算得到的结果
if(a>=1&&a<=100){ //用if else 打印结果
System.out.println("true");
}
else System.out.println("false");
2.3 三目运算符
三目运算符被称为三元运算符,是由三块组成,内部做简单的分支处理
格式:
boolean表达式? true时执行的表达式: false时执行的表达式;
注意:
1.boolean表达式的结果只能是true或false
2.结果的表达式有两个,有且仅有一个表达式被执行
3.三目运算符的结果的数据其实是两个表达式的结果,建议两个表达式的结果的数据类型保持一致
int a=122;
int b=11111;
int max=a>b?a:b;
String mess=(b%2==0)?b+"是偶数":b+"不是偶数";
//String mess=(a>=1)&&(a<=100)?a+"是1--100之内的数据":a+"不是1--100之内的数据";
2.4 Scanner 控制台输入数据
//导包
import java.util.Scanner;
...
//1.创建Scanner对象
Scanner sc=new Scanner(System.in); //System.in 向机器输入
//2.提示语句
System.out.println("请输入");
//3.接收数据
int a=sc.nextInt(); //接收数据的方法
System.out.println("输入的是"+a);
String mess=(a%2==0)?a+"是偶数":a+"是奇数";
System.out.println(mess);
2.5 位运算符
位运算符就是以二进制的形式来进行计算的符号。
一般先把数字转为二进制,进行计算;计算后再把二进制转为十进制。
& 11得0 | 00得0 ^ 不同为1,相同为0 ~ 取反[~a=-(a+1)]
<< 左移 >> 右移 >>>不带符号