java语法学习及eclipse配置
1. eclipse配置编译环境
-
eclipse的jdk插件
-
项目配置Java编译环境
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y02FeB0G-1593609648402)(G:_千锋\JAVAEE\笔记\截图\编译环境的配置.png)]
2. eclipse快捷键
- 快速删除:ctrl+d
- 快速移动代码:alt+方向键
- 代码提示:alt+/
- 快速复制:ctrl+alt+方向键
- 查看类结构:ctrl+o
- 单行注释:ctrl+/
- 多行注释:ctrl+shift+/
- 文档注释:/**+enter
- 代码缩进 ctrl+shift+f
3. 标识符(identifier)规则
- 概述
- 用来给类,方法,接口,变量命名的字符序列
- 组成规则
- 数字
- 大小写字母
- _和$
- 不能以数字开头
- 不能是关键字
- 总结
- 一定要遵守,否则编译报错,无法运行
4. 标识符的书写规范
-
为什么要规范
- 专业性
- 职业素养
-
前提
- 见名知意
-
规范
-
包
-
域名倒写,全部小写字母
com.qfedu
-
-
类、接口
- 单个单词:首字母大写
-
多个单词:每个单词的首字母大写
Demo DemoKey
-
-
方法、变量
-
单个单词:首字母小写
-
多个单词:从第二个单词起,首字母大写
run runQuick
-
常量
-
全部大写
-
多个单词之间用_连接
HOME HOME_NAME
-
-
5. java常量
- 概述
- java中不能改变的量
- 分类
- 字面常量
- 自定义常量
- 字面常量
- 字符串常量
- 整数常量
- 小数常量
- 字符常量
- 布尔常量
- null
/**
* 常量
* @author MACHENIKE
*
*/
public class Demo02 {
public static void main(String[] args) {
//字符串常量
System.out.println("hi");
//整数常量
System.out.println(123);
//小数常量
System.out.println(12.3);
//布尔常量
System.out.println(true);
//字符常量
System.out.println('A');
//null
System.out.println(null+"");
}
}
6. 数据类型的概述和分类
- 概述
- java是一个强类型语言,每一个数据都有一个明确的数据类型
- 分类
- 基本数据类型
- 引用数据类型
- 基本数据类型
- 整形
- byte 1字节
- short 2字节
- int 4字节
- long 8字节
- 浮点型
- float 4字节
- double 8字节
- 布尔型
- boolean
- 字符型
- char 2字节
- 整形
7. java变量
-
概述
- 在代码运行过程中,能够发生改变的量
-
语法
- 数据类型 变量名 = 值;
-
分类
- 局部变量
- 定义在方法中,又叫方法变量
- 全局变量
- 定义在方法外,又叫对象变量
- 静态变量
- 定义在方法外,有static修饰,又叫类变量
- 局部变量
-
代码实现
-
局部变量
public class Demo05_Variable { public static void main(String[] args) { // 数据类型 变量名 = 值; byte num1 = 127; System.out.println(num1); short num2 = 600; System.out.println(num2); int num3 = 100000; System.out.println(num3); long num4 = 1000000000; System.out.println(num4); float num5 = 1.3f; System.out.println(num5); double num6 = 5.6; System.out.println(num6); boolean flag = true; System.out.println(flag); char chr = 'A'; System.out.println(chr); String str = "abcd"; System.out.println(str); } }
-
全局变量,静态变量
public class Demo05_Variable02 { static byte num1 = 127; static short num2 = 600; static int num3 = 100000; static long num4 = 1000000000; static float num5 = 1.3f; static double num6 = 5.6; static boolean flag = true; static char chr = 'A'; static String str = "abcd"; public static void main(String[] args) { System.out.println(num1); System.out.println(num2); System.out.println(num3); System.out.println(num4); System.out.println(num5); System.out.println(num6); System.out.println(flag); System.out.println(chr); System.out.println(str); } }
-
8. java变量使用的注意事项
-
作用域
- 同一作用域类不能同时声明一个相同的变量
-
变量的初始化问题
- 成员变量在声明的没有赋值,则系统会自动赋值
- byte short int long 初值为0
- float double 初值为0.0
- boolean 初值为false
- char 初值为‘’
- 局部变量在声明时没有赋值,系统不会自动赋值
- 成员变量在声明的没有赋值,则系统会自动赋值
-
一条代码定义多个变量
int n = 1, m = 2, g = 3;
9. 数据类型转换之隐式类型转换
-
概述
- byte short int char 参与运算会转换成int类型
- 大精度和小精度参与运算会升成大精度
- 小类型和大类型参与运算会升成大类型
public class Demo11_TypeTransfer { public static void main(String[] args) { byte num1 = 1; byte num2 = 2; int numl = num1 + num2; short num3 = 2; short num4 = 5; int numk = num3 + num4; int num5 = 5; int num6 = 7; int numj = num5 + num6; char chr1 = 1; char chr2 = 2; int chr = chr1 + chr2; double num7 = 5.5; float num8 = 3; double numh = num7 + num8; int num9 = 5; long num10 = 6; long numg = num9 + num10; } }
10. 数据类型转换之强制类型转换
-
概述
- 大精度–>小精度
- 大类型–>小类型
-
语法
小类型 变量名 = (小类型)值
* 代码
```java
public class Demo11_TypeTransfer {
public static void main(String[] args) {
byte n = 2;
byte m = 3;
byte l = (byte)(n + m);
}
}
11. 字符和字符串参与运算
-
字符参与运算
- char类型会自动升成int类型,结果参考ASCII码表
- 0–>48 A–>65 a–>97
- char类型会自动升成int类型,结果参考ASCII码表
-
字符串参与运算
- 任何类型的数据和字符串使用“+”运算时都会被看成字符串,再拼接
System.out.println('a'+1) //输出98 System.out.println("hello"+1) //输出hello1 System.out.println("hello"+('a'+1)) //输出hello98
- 任何类型的数据和字符串使用“+”运算时都会被看成字符串,再拼接
12. 进制的概述
-
概述
- 进位制,即人们定下的一种进位规定,二进制即逢2进1,八进制即逢8进1,等等
-
二进制
- 即0,1,逢2进1
-
八进制
- 二进制表示数字太长,以3位二进制表示1位八进制
-
十六进制
- 八进制表示数字太长,以4位二进制表示1位十六进制
13. 为什么128GB的硬盘只有119GB
- 分析
- 厂商计算方式
- 以1000作为 b kb mb g之间的进率
- 电脑计算方式
- 以1024作为 b kb mb g之间的进率
- 厂商计算方式
14. 不同进制的表现形式
-
二进制
- 以0b开头
-
八进制
- 以0开头
-
十六进制
- 以0x开头
-
public class Demo06_scale { public static void main(String[] args) { System.out.println(0b100); System.out.println(0100); System.out.println(0x100); } }
15. 不同进制转十进制
16. 十进制转任意进制
-
除积倒取余
17. 原码补码反码
-
概述
- 计算机进行数字运算时使用的是补码
-
原码
- 就是二进制数本身,只是在前面多了一个符号位
-
反码
- 正数的反码就是原码,负数的反码就是将原码0变1,1变0,符号位不变
-
补码
- 正数的补码就是原码,负数的补码就是反码的末尾+1
-
解释7+(-7)= 0
18. 精度损失
-
问题说明
-
2个byte类型的值num1,num2,加和之后进行强转
public class Demo09_AccuracyLoss { public static void main(String[] args) { byte num1 = 66; byte num2 = 70; byte sum = (byte)(num1 + num2); System.out.println(sum); } } //输出结果是-120
-
为什么两个正数的加和却是一个负数?
-
计算机内部进行数字加和的时候是以补码的形式进行加和的。66+70=136 即 1000 1000
-
存中…(img-cJN3AGcq-1593609648405)]
18. 精度损失
-
问题说明
-
2个byte类型的值num1,num2,加和之后进行强转
public class Demo09_AccuracyLoss { public static void main(String[] args) { byte num1 = 66; byte num2 = 70; byte sum = (byte)(num1 + num2); System.out.println(sum); } } //输出结果是-120
-
为什么两个正数的加和却是一个负数?
-
计算机内部进行数字加和的时候是以补码的形式进行加和的。66+70=136 即 1000 1000
-
(num1+num2)应该是一个int型的数,int型有4个字节,强转为byte后,损失了3个字节(byte只有1个字节),一个字节是8位,此时1000 1000是在计算机内以补码的形式存在,要将其化为原码再显示出来,此时第一位的1为符号位,先计算出其反码 1000 0111 再计算其原码,1111 1000,再将后面7位转换成十进制,1为符号位,结果即为-120
-
思维导图
本文地址:https://blog.csdn.net/YY_monster/article/details/107072298