Java正式课第三天

                                          			                 2019-04-24                 晴

一、运算符的优先级 : (优先运算的级别)
单目算数位关系,逻辑三目后赋值
1、 位运算符(了解) ==> 位运算 做*2/2比直接做运算效率高
操作数先转为2进制,进行运算,得到结果再转为十进制

	& 二进制的两个数,同一位置的值,进行逻辑判断,两个值如果有一个为0就位0,两个值都是1才是1
	| 同一位置的两个数,如果有一个为1就是1,两个都是0才是0
	^ 同一位置的两个数,如果相同为0,不同为1
2、	位移运算符
		>>  右移   左边的操作数转为二进制以后,向右移动第二个操作数个位数,保留分水岭左边的内容转为十进制   分水岭:左边操作数二进制形态的最右边有一个分水岭
			8>>3  ==> 8/2^3  第一个操作数 / 2^第二个操作数次方
		<<  左移   左边的操作数转为二进制以后向左移动第二个操作数个位数,剩余空间补0,再转为十进制
			8<<3  ==> 8*2^3  第一个操作数 * 2^第二个操作数次方
3、	条件运算符 | 三目| 三元
		条件表达式 ? 值1 : 值2 ;
	执行流程:
		1.先执行条件表达式  -->值为boolean类型的表达式 
		2.如果结果为true, 最终结果取值1
		3.如果结果为false,最终结果取值2

二、	Scanner 键盘输入
基本数据类型
	int a=4;
使用引用数据类型的方式
	1.创建引用数据类型的变量|引用
		引用数据类型 变量名|引用 = new 引用数据类型(); --公式  
	2.使用功能
		引用.功能名字();
			Scanner:
	1.导包 import 相对地址;
		提供类Scanner的位置
		位置:类的上面导包
	2.创建Scanner类型的引用
	3.功能名字();
		nextInt();  接收用户输入的int类型整数
		nextByte();  接收用户输入的byte类型整数
		nextShort();  接收用户输入的Short类型整数
		nextLong();  接收用户输入的Long类型整数
		nextDouble();  接收用户输入的Double类型整数
		nextFloat();  接收用户输入的Float类型整数
		next();  接收用户输入的String类型数据
			有效字符开始接收,知道遇到空格,多个宫格,tab结束接受,欲enter停止功能
		nextLine() 接收用户输入的一整行的内容
			从第一个位置开始接收,知道输入enter结束
			nextLine()功能之前如果存在系列的next功能.需要处理遗留在缓冲区的enter
	4.引用.close(); 一定要在用完之后关闭,否则当前类中重新开启也不能用
三、	Random 类  产生随机数
	1.导包 java.util.Random
	2.创建类型的引用  Random
	3.使用功能
		产生随机整数
			nextInt()   --> int范围内的随机整数
			nextInt(n)  --> 随机产生 [0,n) 随机整数 
			n只能决定最大范围
		产生随机小数
			nextDouble() [0.0,1.0)随机小数
常用公式:
		[0,max)   引用.nextInt(max);
		[0,max]   引用.nextInt(max+1);
		[min,max) 引用.nextInt(max-min)+min;
		[min,max] 引用.nextInt(max-min+1)+min;
		**
四、java中的流程控制语句
	顺序结构 : 默认 从上到下  从左到右
	选择结构 : 根据某些条件执行不同的代码
	循环结构 : 重复执行一些代码
		选择结构:
		if ..else
		switch
	单分支|单选择
		if(条件表达式){
			语句体...
		}
	
		条件表达式:值为boolean类型的表达式
		执行流程:
			1.计算条件表达式的结果
			2.如果false,就跳过if结构,继续向下执行
			3.如果为true,执行{}中的语句体
		
	双分支|双选择
		if(条件表达式){
			语句体1...
		}else{
			语句体2
		}
		如果条件满足执行语句体1,条件不满足执行语句体2
	
	多选择|多分支
		if(条件表达式1){
			语句体1...
		}else if(条件表达式2){
			语句体2...
		}else if(条件表达式3){
			语句体3
		}else{
			语句体n;
		}
		执行流程:
			1.先执行条件表达式1,如果为true,执行语句体1
			2.如果为false,计算条件表达式2,如果为true,执行语句体2
			3.如果为false,计算条件表达式3,如果为true,执行语句体3
			4....
			5.如果以上条件都不满足,执行else中的语句体n
			
	
	注意:语句体前后的{}可以省略,语句体只有一句的时候可以省略
五、java中switch  定值判断

	switch(表达式){
		case 值1:
			语句体1;
			break;
		case 值2:
			语句体2;
			break;
			....
		default:
			语句体n;
			break;
	}
	表达式:byte,short,int,char , 枚举(1.5),字符串(1.7)这几种类型的值
	case: case后面接的值是与表达式进行判断,必须是一个值,不能是区间
	break: 防止case穿透 结束switch语句
		case穿透:从满足条件的语句体开始执行,如果遇到break结束switch,如果没有break下面的case不再判断直接执行语句体
	default:默认的,相当于else,如果以上都不满足,就执行default中的内容
		default位置可以改变
		
    if与switch之间的区别
	if可以做区间判断
	switch 定值判断
	能用switch都可以用if  能用if的不一定能用switch			

六、java中循环
循环:重复执行一些代码
for
while
do…while

	for循环
		for(条件初始化;条件判断;条件变化 ){
			循环体语句;
		}
		
		执行流程:
			1.先执行条件初始化  声明一个变量并且赋值 i
			2.条件判断   对i进行判断   值为boolean类型的表达式
				如果值为false,for循环结构结束,如果值为true,执行循环体语句
			3.条件变化
			重复执行2,3步
		
		注意:在循环体语句中可以使用i的值   
			 变量i可以决定循环执行的次数

猜你喜欢

转载自blog.csdn.net/wl3909/article/details/89526858