学习方法:
0.勤能补拙
1.当日事,当日毕
2.一个人干 不如一群人干
3.先抓规范,再练逻辑
一阶段划分:
1.面向过程(基础语法/逻辑) 痛点:循环
2.面向对象 痛点:编程思想
3.界面编程(综合运用---> 游戏)
4.项目实战(独立开发,编程经验,解决bug的能力)
一。Java环境
1.运行环境 JRE
2.开发环境 JDK + 开发软件(eclipse idea)
二、Java开发规范
1.命名规则(必须遵守)
必须由英文大小写,数字,美元符$,下划线_构成
不能以数字开头,不能出现中文,空格,特殊字符
2.命名规范(工作遵守)
工程名/项目名:英文+数字版本 如:坦克大战 TankV1.0 (只有过程名可以使用特殊字符如:. -)
包名:单个包 由一个单词构成 全部小写
多层级的包(文件夹中套文件夹) 每个单词之间用.隔开 如 a.b.c(意思是a包里面有b包,b包里面还有c包)
类名/java文件名:大驼峰(第一个首字母大写) 如 HelloWorld(后面单词首字母大写为了方便阅读)
变量名/方法名:小驼峰(第一个单词首字母小写) 如 helloWorld
常量名:全部大写,如果有多个单词要区分使用下划线 如 HELLO_WORLD
3.注释
单行注释 // 快捷键 ctrl+/
多行注释 /* */
文档注释 /** */ 未来可以导出为一个API文档(说明书)
alt+/ 代码联想和补全
三、数据类型(强类型)
1.基本数据类型(8种)
整数
-字字节型 byte 了解:大小(占8位) 取值范围(-128~127=-2^7~2^7-1)
-短整型 short 了解:占16位 -2^15~2^15-1 正负3w+
-整型 int(默认整数类型) 了解:占32位 正负21亿+ -2^31~2^31-1
-长整型 long 定义时还需要再数字后面加L 如:21L 了解:占64位 -2^63~2^63-1
小数(浮点数)
-单精度浮点型 float 定义时需在数字末尾加F 如:0.1F 了解:占32位 范围大概为正负3.4*10^38
-双精度浮点型 double(默认) 了解: 占64位 大概正负1.7*10^308
字符
-char 一般情况下占16位 记住:范围0~65535
定义时使用单引号,代表的是一个字符 如 '发' 'A' 注意引号内不能为空'' 可以为空格' '
布尔
-boolean 范围true/false
2.引用数据类型(3种)
数组、对象/类类型、接口
注意:字符串string 属于引用数据类型中的对象/类 类型
四、运算符
1.数学运算符
+ - * / %(取余数) ++(自增1) --(增减1)
2.关系判断符
< > <= >= == !=
注意:关系判断的结果一定为布尔类型(true/false)
3.逻辑判断运算符
并且&& 或者|| 非/取反!
注意:结果一定为布尔类型(true/false)
4.赋值运算
= 将等号右边的值 赋值给 左边
+= a+=b 为 a=a+b 如果b为1 可简写为 a+=1 a=a+1 a++
-=
*=
/=
%=
5.拼接运算
+ 如果加号左右两边都是数字,是数学加法运算
如果有一边不是数字类型,就是拼接运算
运算优先级
先乘除,后加减
优先级相同时,从左到右依次计算
第一优先级:. 调用运算符 []数组根据下标获取元素运算 ()括号内优先计算
类型转换
-自动类型转换(隐式转换)
运算中只要出现byte/short/int/char 中的一种或多种 都会转换为int类型
运算中只要出现byte/short/int/char/long 中的一种或多种 都会转换为long类型
运算中只要出现byte/short/int/char/long/float 中的一种或多种 都会转换为float类型
运算中只要出现byte/short/int/char/long/float/double 中的一种或多种 都会转换为double类型
如: int a=1; int b=2; a/b结果为0
-强制类型转换
语法:(数据类型)变量名 如 int a=1; int b=2; (double)a/b=0.5
6.三元运算符
A?B:C
A代表一句判断,结果必须是布尔类型
B代表当A成立true时,必须返回B的结果
当A不成立false时,必须返回C的结果
且B与C的结果 数据类型必须一致
接受的变量的数据类型也必须与B C一致
支线任务:
1.a++与++a有什么区别
区别:a++是后缀自增运算符,先将a的值用在表达式中,再将a的值加1
++a是前缀自增运算符,先将a的值加1,再使用在表达式值
如图:
2.java中保留整数、保留小数的方法(工具类)
使用Math.round(value)保留整数
使用BigDecimal类保留小数
如下图所示:
遇到问题:
当int a=5;时为什么a=a++;打印结果也为5;
目前理解为,执行a=a++时,先将a=5这个初始值值保留下来,在进行a++的运算,最后再把保存下的a=5的值重新赋予a,所以结果a还是等于5.
心得:
今天学习了在eclipse的基础运算和java开发规范,并进行练习,探讨了关于基础运算方面的知识,获益良多。
(CPU烧了,还是别纠结于一个以后可能根本遇不上的问题来浪费时间了,来看看不远处的今日作业吧家人们。)