2021-07-10

JAVA EE

标识符

针对包,接口,方法,变量,常量等起名字的字符序列(见名知意)
标识符的组成:
 	1.26个英文字母
 	2.数字字符
 	3._下划线
	4.$
	5.严格区分大小写
注意事项:
	包:(目录/文件名) 
		都是字母小写,或者可以有"_"
	类和接口命名相同
		单个单词:首字母大写,其余小写
	小驼峰(多个单词):
		第一个单词小写,其余单词首字母大写[helloWorld]
	大驼峰(多个单词):
 		每个单词首字母大写,其余小写[HelloWorld]	
常量命名:
		单个单词字母全部大写
		多个单词字母全部大写单词之间用"_"连接
Thread:线程类
【不能是Java中的关键字】
【不能以数字开头命名】
【Java严格区分大小写,我们在起名字的时候:见名知意】
【满足条件:满足组成的一种即可!不能是非法字符!】

Java中的常量

1.字面值常量
	字符串常量:使用双引号包裹起来的内容 "我爱Java"
    字符常量:使用单引号包裹起来的内容'a','A','0'(只能括起来单个内容)
    整数常量:100 37 55 包含"进制"证书默认十进制
    小数常量:1.33  1.35
    布尔常量:true/false
    空常量:null
2.自定义常量
【进制也属于常量】

Java中的变量

变量的三要素:数据类型,变量名,初始化值
	数据类型 :在Java中,数据类型分为两大类型:
		A基本数据类型:四类八种   (研究的都是基本类型)
			整数类型:默认int
					byte   字节类型    占1个字节(8个比特位) 取值范围:-128~127
					short  短整型      占2个字节
					int    整数默认类型 占4个字节
					long   长整型      占8个字节
				注意事项:必须在long的初始化值的末尾加L或者l
			浮点类型:默认类型double
					float   单精度      占4个字节
				注意事项:必须在float的初始化值后面加上F或者f
					double  双精度      占8个字节
									
			字符类型:char				占两个字节
				初始化值:单引号括起来的单个内容
									
			布尔类型:boolean
									不会参与类型转换:仅仅表示真,假(true/false)				占1个字节			B引用数据类型		
定义变量的注意事项:
	1.在java语言中同一个变量不能重复定义
	2.一行可以定义多个变量(题中)
    3.一行定义一个变量即可,结束之后";"(代码规范风格)
    4.变量要么先初始化,要么先定义,但必须在使用前对其进行初始化

变量运算

//变量要进行运算必须保证数据类型一致
	隐式转换
        (char short byte 之间不能相互转换)参与运算优先转换成int类型, long float double(类型) 
	显示转换(强转)
        强转类型转换在应用场景:
				没有明确要求,尽量不用,因为可能损失精度
        格式:(目标数据类型) 变量名 = (目标数据类型)(初始化值/表达式)

Java中的运算符号

1.算术运算符

	基本的算术运算符:
		+,-,*,/,%(模)
		/:默认取整
		%:求余数
	++/--
		在单独使用时自增或自减;
		参与运算时	如果++/--在前先自增1或自减1
					如果==/--在后先进行运算,然后再进行自增或自减

2.赋值运算符

	基本的赋值运算符: "="
		将=号右边的数据赋值给左边类型的这个变量;
	扩展的赋值运算符:+=,-=,*=,/=,%=;
		(赋值运算中隐藏了强制转换)
		short a = 1;
		a += 1; // a = (short)(a+1);
//==是比较运算符:比较两个数据相等

3.位运算符

	位与	&:有0则0
	位或	|:有1则1
    位异或	^:相同则为0,不同则为1    
  特点:一个数据被另一个数据^两次 其值不发生变化。
    反码	~:按位取反
其他运算符号
	位移符号:
		<<:左移
		将补码进行左移,右边补零,将最高符号位丢弃
		2<<2
	00000000 0000000 0000000 00000010
    00000000 0000000 0000000 00001000
    特点:左边的数据×2的移动次幂 = 位移后数据
---------------------------------------------------   
		>>:右移
		将补码进行右移,最高符号位为1,左边补1,为0补0 。
		24>>2
	0 0000000 00000000 00000000 00011000
	0 0000000 00000000 00000000 00000110
	特点:左边的数据/2的移动次幂 = 位移后数据
		-24>>2
	1 0000000 00000000 00000000 00011000 :原码
	1 1111111 11111111 11111111 11100111 :反码
	1 1111111 11111111 11111111 11101000 :补码
	>>2
	11  11111111 11111111 11111111 1111010 00:补码
	1 1111111 11111111 11111111 11111001 :反码
	0 0000000 00000000 00000000 00000110 :原码
	-6
---------------------------------------------------
		>>>:无符号右移
		不管最高符号位,左边始终补0.
		-28>>>2	
	1 0000000 00000000 00000000 00011010 :原码
	1 1111111 11111111 11111111 11100101 :反码
	1 1111111 11111111 11111111 11100100 :补码
	>>>2
	00 11111111 11111111 11111111 111001 00:补码
	00 11111111 11111111 11111111 111010 :反码
	11 00000000 00000000 00000000 000101 :原码
	 32212254
	

4.逻辑运算符(Important

	逻辑单与: &		并列关系(满足全部条件)
			 一假则假,全真则真
	逻辑单或:	|	或的关系(只需满足一个)
				一真则真,全假则假
	逻辑异或:	^	判断是否相同
				同假,异真 (男男,女女为假;男女为真)
	逻辑非:	!	取反面结果
				非真则假,非假则真	
扩展逻辑运算符号:
		逻辑双与	&&	左边表达式值为假右边不执行 ( 一假则假,全真则真)
		逻辑双或	||	左边表达式值为真右边不执行(一真则真,全假则假)

5.关系(比较)运算符

	(true/false)
	!=,<,<=,>=,>,==	

6.三目(三元)运算符

格式 (表达式)?1:2;
执行流程:
		判断表达式是否成立,如果成立则执行1)
		如果不成立,则执行2)

位运算符运算优先级

运算符的优先级(从高到低)
优先级	描述	          运算符
1	  括号	      ()、[]
2	  正负号	       +、-
3	  自增自减,非    ++、--、!
4	  乘除,取余	      *、/、%
5	  加减	        +、-
6	  移位运算	     <<、>>、>>>
7	  大小关系	     >、>=、<、<=
8	  相等关系	      ==、!=
9	  按位与	         &
10	  按位异或	        ^
11	  按位或	         |
12	  逻辑与	        &&
13	  逻辑或	        ||
14	  条件运算	         ?:
15	  赋值运算	    =、+=、-=、*=、/=、%=
16	  位赋值运算	   &=、|=、<<=、>>=、>>>=

如果在程序中,要改变运算顺序,可以使用()

键盘录入

import java.util.Scanner;//导包:(不在java.long包下的类都需要导入!)
    class a{
        public static void main(String[]	args){
    Scanner sc = new Scanner (System.in);//创建键盘录入对象
    
    System.out.println("please input X");    //提示键盘录入数据
    
    int a = sc.nextInt();//开始录入数据
    
    //使用变量
        }
    }
				
Tips:nextline(会识别回车),先录入int在录入String会跳行。

流程控制语句

顺序结构语句

顺序结构语句:
	进入主程序后,main方法被Jvm调用后,代码从上到下依次执行

选择结构语句(if,switch)
if语句:

选择结构语句:
	if语句:
	格式1:	If(表达式){
		语句;
	}
	表达式成立则执行语句,不成立则不执行。
	针对单个条件进行判断
	格式2:	If(表达式){
				语句1;
	}
	else{
	语句2;
	}
	表达式成立执行语句1,否则执行语句2。
多条件判断。
	if(表达式){
		语句1;
	}else{
		语句2;
	}
	
执行流程:
		1)首先判断表达式是否成立,
		2)如果成立,则执行语句1;
		3)否则,不成立,执行语句2;	

Switch语句

执行流程:
			1)使用switch中的表达式结果和case的进行匹配
			2)case语句值1,匹配了,就执行语句1,break,结束switch语句
			3)值1不匹配,继续判断值2是否和switch中的值匹配,
			4)如果匹配了,执行语句2,break,结束switch语句
			5)如果上面都是不匹配,最终执行default语句,语句n,break结束!
switch语句格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
switch语句使用的注意事项:
			1)case语句后面的值只能是常量,不能是变量
			2)书写switch语句的时候,case语句必须存在break语句,结束switch语句的!
				如果没有书写break语句,会造成"case穿透!"现象
			3)switch语句的结束条件
				a)遇见break结束
				b)程序默认执行末尾结束
			4)default语句:可以在switch语句中的	任何位置
					如果在语句中,必须携带break; 否则case穿透
					如果在语句的末尾,break是可以省略的,(不建议)!
上一篇:OK6410A 开发板 (八) 81 linux-5.11 OK6410A JTAG调试


下一篇:2021-07-10