1.计算机常见快捷键:
Ctrl+A 全选 Windows+左方向键
Ctrl+C 复制 Windows+右方向键
Ctrl+V 粘贴 Windows+D 切换到桌面
Ctrl+S 保存 Windows+E 打开计算机
Ctrl+X 剪切 Windows+R 打开运行窗口
Ctrl+Z 撤销 Control 打开控制面板
Ctrl+Y 反撤销 calc 打开计算器
Alt+F4 退出当前窗口 notepad 打开记事本
Ctrl+alt+. 打开任务管理器 mspaint 打开画图工具

1.八大基本数据类型
字节数 取值范围
byte 1 -128 ~ 127
short 2 -32768 ~ 32767
int 4 -2147483648 ~ 2147483647
long 8 -9223372036854774808 ~ 9223372036854774807
float 4 -3.403E38~3.403E38
double 8 -1.7E-308~1.7E+308
char 2 0 ~ 65536
boolean 1 true false 0000 0000 0000 0001
注意:byte/short与char之间参与转换,需要强制类型转换,因为是交集关系而非子集关系!

标识符:Java对包、类、方法、参数和变量等要素命名时使用的字符序列称为标识符。
	简而言之就是给类,接口,抽象类,接口的实现类,常量,变量,方法等元素取名字。

规则:必须准守
	1.由字母,数字,下划线_,美元符号$组成
	2.不能以数字开头
	3.Java对于大小写严格区分
	4.不能是Java中的关键字
	
规范: 
	1.见名知意
	2.不允许使用中文和拼音
	3.满足驼峰命名法(待会讲)
	4.命名的长度最好不要超过31个字符

提供一套开发中标准规范:
包,类,抽象类,接口,接口的实现类,变量,方法,常量
包(文件夹) 
	1.一般都是公司的域名反写
	2.所有单词使用.隔开
	3.每个单词都是小写组成
	eg: www.gg.com  com.gg.www
类(满足抬头骆驼) class
	1.所有单词的首字母大写,其他字母小写
	eg: HelloWorld IdentifiedDemo
接口: (满足抬头骆驼) interface
	1.所有单词的首字母大写,其他字母小写
	2.一般会在第一个单词的前面加上一个大写的I
	eg: IStudent ITeacher
接口的实现类 (满足抬头骆驼)
	1.所有单词的首字母大写,其他字母小写
	2.一般都会在最后一个单词后面加上 Impl 
	eg: StudentImpl
抽象类(满足抬头骆驼)
	1.所有单词的首字母大写,其他字母小写
	2.在单词的开头一般都会加上 Abs
	AbsStudent
变量 (满足低头骆驼)
	1.第一个单词首字母小写,其他单词首字母大写
	2.一般都是名词
	eg: studentName studentScore  score  totalScore
方法(满足低头骆驼)
	1.第一个单词首字母小写,其他单词首字母大写
	2.一般都是动词
	eg: getTotalScore getAverageScore getMaxValue getMinValue
常量: 
	1.所有单词都是大写
	2.每一个单词都使用_隔开
	eg: MAX_VALUE  MIN_VALUE PI

1.三目运算符(条件运算符)
?:
格式:X ? Y : Z
X表达式必须是boolean类型 的表达式
执行流程:
首先计算X表达式的结果,如果X的结果为true,那么整个表达式的结果就是Y的值
如果X的结果为true,那么整个表达式的结果就是Z的值

2.表达式    expression  operator
符合一定语法规则的运算符和操作数的式子
运算符的优先级:
1.有括号先计算括号里面的
2.单目运算符>双目运算符>三目运算符
3.算数运算符(* / %>+ -)>关系运算符(> <...>== !=)>逻辑运算符(&& >||)>条件运算符>赋值运算符
4.如果运算符的优先级相同,从左至右即可
5.+ -> ++ -- !
技巧:如果针对特别复杂的表达式,可以根据运算符的优先级规律,然后使用()改变优先级,提高程序的可读性

1.Scanner类
为什么需要键盘录入数据?
之前我们书写程序,数据是固定不变的,在开发中,数据肯定是动态的而不是固定的,所以我们需要把固定的数据更改为键盘录入。
Scanner键盘录入对象
如何使用Scanner对象
三步:
1.导包
在类的上面加一句语句:import java.util.Scanner;
2.创建键盘输入对象
Scanner input=new Scanner(System.in);
3.定义变量接收用户的输入
按照用户输入的类型分类:
整数:
int num= input.nextInt();
小数:
double num=input nextDouble();
字符或者字符串
String line=input.nextLine();
或者 String line=input.next();
注意:
1.使用键盘输入获取数据之前建议加入提示性语句
2.next系列的方法是阻塞方法,会等待用户的输入,用户输入结束,程序继续执行
3.java.util.InputMismatchException
异常名称:输入不匹配异常
产生原因:输入的类型和接收的类型不匹配
解决办法:类型匹配即可

1.语句结构:
  		顺序结构    选择结构    循环结构
  		选择结构分为四种选择语句
  		1.单if语句
  		     格式:
  		              if(条件表达式){
  		                      语句体;
  		              }
  		      执行流程:如果条件表达式为true,执行if语句体,否则不做任何操作 
  		      注意事项:
  		                 1.注意if(score>=90);{ }这种会永远执行
  		                 2.单if语句建议使用三目运算符改进
  		                 3.条件表达式必须是boolean类型的值   
  		2.if-else语句
  		        格式:
  		               if(条件表达式){
  		                           语句体1;
  		                 }else  {
  		                           语句体2;
  		                 }
  		          执行流程:
  		              如果条件表达式的结果为
  		                                 true           执行语句体1;
  		                                 false          执行语句体2;
  		          注意:
  		               1.  比较基本类型是否相等使用==,比较引用类型是否相等暂时使用equals
  		               2.  尽量使用三目运算符
  		3.多重if语句
  		           格式:
  		                   if(条件表达式1){
  		                              语句体1;
  		                   } else if (条件表达式2){
                                       语句体2;
                           } else if (条件表达式3){
                                       语句体3;
                           } ....else if (条件表达式n){
                                       语句体n; 
                           } else  {
                                       语句体n+1;     
                           }
                   执行流程:
                           首先判断条件表达式1是否成立
                                    成立        执行语句体1;
                                 不成立     在表达式1的基础上继续判断条件表达式2是否成立
                                   成立           执行语句体2;
                                 不成立     在表达式2的基础上继续判断条件表达式3是否成立  
                                   成立           执行语句体3;
                                 不成立     在表达式2的基础上继续判断条件表达式n是否成立   
                          如果都不成立执行else语句体n+1       
                    注意:
                             1.多重if语句不能够使用三目运算符改进
                             2.这种语句一般作用于区间判断                  
  		4.嵌套if语句
  		           1.嵌套if语句一般可读性差,慎用
  		           2.尽量使用三目运算符改进
       Swicth语句格式
        根据表达式值的不同执行许多不同的操作
        Switch(表达式) {
               case   值1:
                           语句序列;
                            [break];
               case   值2:
                           语句序列;
                            [break];   
                       [default:
                       默认语句 ;]
                  }