| 关键字:被Java语言赋予了特定含义的单词 关键字特点:字母全部小写,编辑器直观显示.
 常量含义;在程序的执行过程中,其值不可以发生改变的量
 常量分类;
 A;字符串常量;"helloworld"
 B 整数常量;12,-34
 C.小数常量 1.5  2.3
 D 字符常量 '1' 'q'
 E 布尔常量 true  false
 F 空常量 null
 变量含义;内存中一小块区域,在程序的执行过程中,其值可以在一定范围内发生改变量
 组成;
 A 对区域要有限定
 如何限定? 用数据类型来限定
 B 区域要有名称
 变量名
 C 区域要有变量
 初始化值
 
 数据含义;
 数据类型分类
 A   基本数据类型
 B   引用数据类型 (类,接口,数据)
 
 基本数据类型
 分4类8种
 A 整数               占用字节数
 byte                   1    -128--127
 short                  2
 int                      4
 long                   8
 
 B 浮点型
 float                   4
 double               8
 
 C 布尔型
 boolean             1
 
 D 字符型
 char                    2 可以存储中文
 byte short char > int > long > float > double
 
 
 整数默认int 存储      int x= 10;
 小数默认double 存储   float x= 10.0f;
 double xiuxiu = 10.0;
 
 定义float类型和long类型要注意
 float 取值时要加F或者f,
 long 取值时值在int范围内时可以不加,超过范围要加L或l.建议直接加大写L
 float的取值范围比long大.
 
 标识符;用来给包,类,方法,变量等起名字的符号.
 
 组成规则;
 A,unicode 字符
 数字字符,英文大小写字母,汉字(不建议使用汉字)
 B,下划线 _
 C,美元符 $
 注意;不能数字开头,中间不能有空格,不能是关键字
 常见命名规则;
 A,基本要求
 见名知意
 B,常见的命名
 a.包(其实就是文件夹,用于对类的管理)
 全部小写,多级包.隔开  域名反写
 b.类
 单个或多个单词,首字母大写
 c.方法和变量
 一个单词,都小写.多个单词,从第二个单词开始首字母大写
 d.常量
 每个字母都大写,多个单词用_隔开
 变量定义的注意事项;
 A.变量未赋值,不能直接使用
 B.变量只在它所属的范围内有效
 变量属于它所定义到右大括号结束
 C.一行可以定义多个变量,但是不建议
 
 数据类型中的类型转换;
 
 分类;
 
 隐式转换;(自动类型提升)
 int + int类型,其结果用int 类型接收
 int + byte类型 先将取值范围小的byte类型提升成int类型.在坐运算
 取值范围;byte short char > int > long > flost > double
 强制转换;目标类型 变量名 = (目标类型) (被转换数据);
 建议;数据做运算,结果属于什么类型,就用什么类型接收,
 尽量不要强制转换,结果会损失精度
 byte char short > int > long > flost > double 取值范围大小
 
 byte b = 3; //java有常量优化机制
 // -128~127,由于3属于byte 取值范围内,那么jvm会检查,在范围内会自动做强转
 
 运算符
 算数运算符 + - * / %  ++  --
 逻辑运算符; & | ^ ! && ||  (连接两个boolean类型的关系式)
 关系运算法符; == (不要写成一个=号.=是表示附值);
 附值运算符 +=  -=  *=  /=  %=
 三元运算符
 
 关系运算符;!= ;>;>= ;< ; <= ;
 关系运算符 ,条件表达式,布尔(boolean)表达式 都是一种表达式
 结果都是boolean类型  true 或者 false
 
 
 字符参与运算;
 'A' = 65
 'a' = 97
 '0' = 48
 
 字符串参与加法运算.其实做的不是加法运算,而是字符串的拼接
 
 
 ++在后面,先拿变量做操作,然后变量再++(+1)
 ++在前面,变量先++(+1),然后再拿变量做操作
 
 
 int a = 10;
 System.out.println(a++)   输出是10   然后a = a + 1 = 11
 System.out.println(++a)          输出是12    a = 1 + a = 1 + 11 = 12
 
 赋值运算符
 += -= *= /= %=
 int a = 10
 a += 20
 System.out.println(a); 输出是30
 
 ++ -- += 类都包含了强制类型转换
 byte a = 10;b
 b += a  // byte b = a + b       a + b 默认是int类型.
 
 逻辑运算符 (连接两个boolean类型表达式)   &  | ^ !   &&  ||    结果是boolean类型.true false
 & (逻辑与)有false 则false && 有false则false
 |(逻辑或) 有true则true
 ^(逻辑异或) 相同则false 不同则true 例如男女关系,男男false 男女true
 !(逻辑非) true则false false则true
 
 &&(短路与)具有短路效果,前面false后面不执行,&不管前后是true还是false都执行
 
 &&    短路情况(&&)下,左边是false时,右边不执行 结果是false
 
 &        左边是false时,两边都执行 结果是false
 
 ||    短路情况(||)下,左边是true时,右边不执行 结果是true
 
 |        左边是true时,两边都执行 结果是true
 
 
 三元运算符;
 
 关系表达式?表达式1:表达式2
 执行流程;
 A;计算关系表达式的值,看是true还是false
 B;如果是true, 结果是表达式1
 如果是false,结果是表达式2
 
 
 eclipse 快捷键
 Alt+/                  自动补全.提示信息,帮助写构造方法的参数
 Ctrl+Shift+F        代码格式化
 Ctrl+Z                返回
 Ctrl+Y                前进
 Ctrl+/                行注释
 Ctrl+Shift+/        多行注释
 Ctrl+Shift+\        取消多行注释
 Ctrl+Shift+o        导入包
 Alt+上下箭头        移动行向上/向下
 Ctrl+Alt+上下箭头        复制当前行或多行
 Ctrl+D                删除当前行
 Ctrl+1                意见提示功能 可以自动创建方法.
 Ctrl+2                L 创建当前对象
 shift + enter          直接进入下一行 不改变本行内容.
 shift +         光标 /+ End 直接选中
 shift + Tab           前移
 Alt + shift + r 选中所有相同的变量.
 Ctrl + shift + T 查看源代码
 Ctrl + shift + Y 转成小写
 Ctrl + shift + X 转成大写
 Ctrl + 鼠标左键 (可以查看变量的由来)查看源代码(回来用Alt + <-)
 Ctrl + n        在包下创建文件
 Alt + shift + S  有下划线点击那个字母就可以创建get 构造函数等.
 Alt + shift + M  封装成方法;
 Alt + shift + L  创建对象来接收
 
 
 数组定义格式                A.数据类型[] 数组名;int[] arr     这种方式用的比较多                B .数据类型   数组名[]; int arr[]                 推荐用a方式,但是b方式要看得懂 解释:A是定义一个int类型的数组,数组名是arr B是定一个int类型的变量,变量名arr[ ]数组 数组的初始化                 a、动态初始化                         只给长度,系统会给出默认值                         举例: int[] arr = new int[3];                 b、静态初始化                         给出值,系统决定长度                         举例:int[] arr =new int[] {1,2,3};                         简化 int[] = {1,2,3};                 总结:所谓数组初始化,就是为数组开辟内存空间,并为                         数组的每个元素赋予初始值。 
                         new:在右边为数组申请内存分配开辟空间 
     数组中最常见的问题        A:ArryIndeoutofboundsExcption:数组索引越界异常                 原因:你访问了不存在的索引,超过其数组长度了         B:NullPointerException:空指针异常                 arr =null                 System.out.println(arr[0]);          原因:数组已经不在指向堆内存了,而你还用数组名访问元素。 
 为了解决我们去解决数组元素的个数,数组就提供了一个属性:length 用于获取数组元素的个数 格式:数组名.length   int[] arr; System.out.println("数组共有"+"arr.length"+"个") 
 数组遍历: public static void printArray(int[] arr) { for(int x=0; x<arr.length; x++) { System.out.println(arr[x]); } } 
 
 最大值: public static int getMax(int[] arr) { int max = arr[0]; 
 for(int x=1; x<arr.length; x++) { if(arr[x] > max) { max = arr[x]; } } return max; } 
 最小值: public static int getMin(int[] arr) { int min = arr[0]; 
 for(int x=1; x<arr.length; x++) { if(arr[x] < min) { min = arr[x]; } } return min; } 
 逆序 public static void reverse(int[] arr) { for(int start=0,end=arr.length-1; start<=end; start++,end--) { int temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; } } 
 
 
 
 
 
 
 
 
 
 |