🏠HelloWorld小案例
步骤:
- 创建一个名为HelloWorld文本文档,将后缀名.java
- 打开文件,在里面写点内容:
```java class HelloWorld { public static void main(String[] args) { System.out.println(“约吗”); } }
1.什么地方加空格,什么地方加. 2.什么地方大写,什么地方小写 3.什么地方用{},什么地方用[],什么地方用()
3. 将HelloWorld.java文件放入到jdk安装的目录中的bin目录中3. 编译<br />如何编译?<br />需要使用javac.exe编译工具<br />格式:javac HelloWorld.java<br />编译完之后,会生成一个新的文件,叫做HelloWorld.class3. 运行<br />如何运行?<br />需要使用java.exe运行工具<br />格式:java HelloWorld<a name="88ece357"></a># 🔪注释> 注释是对代码的解释和说明文字。Java中的注释分为三种。<a name="vnvKF"></a>## 注释的分类1. 单行注释:`//注释的内容`2. 多行注释:`/*注释的内容*/`3. 文档注释:`/**注释的内容*/`<br />文档注释一般是生成帮助文档用的快捷键:<br />单行注释:ctrl+/<br />多行注释:ctrl+shift+/<a name="OqPO6"></a>## 注释的作用1. 用来解释说明,提高了代码的阅读性1. 可以帮助我们查找错误<a name="UVj4b"></a>## 注释的注意事项1. 单行注释可以嵌套1. 多行和文档注释都不能嵌套使用。<a name="071a46fc"></a># 💣关键字> 被Java语言赋予了特殊含义,用作专门用途的字符串(单词)的单词,这些关键字不能用于常量、变量、和任何标识符的名称。💡 关键字的特点:- 关键字的字母全部小写。- 常用的代码编辑器对关键字都有高亮显示,比如现在我们能看到的public、class、static等。- main不是关键字<a name="56fa84eb"></a># 🔦标识符> 用来标识类名、变量名、方法名、类型名、数组名及文件名的有效字符序列称为标识符,简单来说就是我们自己起的名字。<a name="GM030"></a>## Java中标识符的组成规则1. 由字母、数字、下划线“_”、美元符号“$”组成,长度不受限制。1. 第一个字符不能是数字字符。1. 不能使用java中的关键字作为标识符。也不能是true、false、null。1. 标识符对大小写敏感(区分大小写)。<a name="PxY3R"></a>## 标识符的两种命名方式针对不同类型的标识符用不同的命名方式,以下是两种常用的命名方式:1. **小驼峰式命名:首字母小写,从第二个单词开始每个单词的首字母大写。**1. 例如:name、userName、studentNumber2. **大驼峰式命名:每个单词的首字母都大写。**1. 例如:ChinaMade、WaterLake等。不同场合不同使用:- **包名:全部小写,多级包用.隔开。**举例:com.jourwon,com是公司,也是行业规定。- **类、接口:大驼峰命名**举例:Student,Car,HelloWorld- **方法和变量:小驼峰式命名**举例:age,maxAge,show(),getAge()- **常量:如果是一个单词,所有字母大写,如果是多个单词,所有的单词大写,用下划线区分每个单词。**举例:DATE,MAX_AGE- **项目名:全部用小写字母,多个单词之间用横杆-分割。**举例:demo,spring-boot<a name="af7c4e3e"></a># 🔮常量> 在程序执行的过程中,其值不可以发生改变的量。<a name="Yz8DQ"></a>## 字符串常量"a", "ab", "123", "abc123", "约吗", ""注意:1. 字符串常量是必须用双引号括起来的1. 双引号里面可以有一个数据,可以有多个数据,可以没有数据<a name="zgj4B"></a>## 字面值常量- 整数常量1, 2, 12- 小数常量3.14, 1.2- 字符常量'a', 'b', '1', '#', '在', ' ' 都是字符常量<br />'abc', '' 不是字符常量注意:1. 字符常量是必须用单引号括起来的1. 引号里面有且只能有一个字符<a name="taAql"></a>## 布尔常量只有2个值<br />true、false<a name="kxjnN"></a>## 空常量只有一个值:null自定义常量(以后学)<a name="aTLqy"></a>## 注意事项- 除空常量外,其他常量均可使用输出语句直接输出。- 在定义常量时就需要对该常量进行初始化。- final 关键字不仅可以用来修饰基本数据类型的常量,还可以用来修饰对象的引用或者方法。- 为了与变量区别,常量取名一般都用大写字符。<a name="68a240a2"></a># 🛡Java进制> 进制也就是进位计数制,是人为定义的带进位的计数方法。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。生活中常用的是十进制<a name="wNW7p"></a>## Java中的进制的分类- 十进制:逢十进一,正常写12, 5, 123<br />10- 二进制:逢二进一,0b0101010<br />0b10- 八进制:逢八进一,01234, 12<br />010- 十六进制:逢十六进一,0x10 -> A<br />11 -> B<br />12 -> C<br />13 -> D<br />14 -> E<br />15 -> F<br />123AB<br />0x10在计算机中,数据最终都会变成二进制,也就是由多个1或者多个0来组成的,而每一个1或者0都称为一个位,也叫做1bit。注意:在计算机中进行存储和运算的最小单位是字节(byte)<br />1byte = 8bit<br />1KB = 1024byte<br />1MB = 1024kb<br />1GB = 1024MB<br />1TB = 1024GB<a name="hOjph"></a>## 进制转换<a name="QSYkI"></a>### 二进制转十进制> 8421码方法为:把二进制数按权展开、相加即得十进制数。<a name="JIhxN"></a>### 二进制转八进制<a name="q13bx"></a>### 二进制转十六进制<a name="uwklH"></a>### 十进制转二进制> 十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。<a name="mMneY"></a># 🍐原码,反码和补码<a name="BY2er"></a>## 原码> 原码:将一个整数转换成**二进制表示**以 int 类型为例,int类型占4个字节、共32位。<br />例如:<br />2 的原码为:00000000 00000000 00000000 00000010<br />-2的原码为:10000000 00000000 00000000 00000010<a name="DIcEl"></a>## 反码> 正数的反码:与原码相同> 负数的反码:原码的符号位不变,其他位取反例如,-2 的反码为:11111111 11111111 11111111 11111101<a name="FSfGc"></a>## 补码> 正数的补码:与原码相同> 负数的补码:反码+1例如,-2 的补码为:01111111 11111111 11111111 11111110- 符号位> 二进制的最左边的那一个位,就称为符号位,正数的符号位是0,负数的符号位是1<a name="TWs8H"></a>## 计算机在对数据进行运算的原理3 - 2 = 1<br />3 + (-2) = 11. 先将3这个十进制,变成二进制的原码形式,然后变成反码形式,最后变成补码形式1. 先将-2这个十进制,,变成二进制的原码形式,然后变成反码形式,最后变成补码形式1. 将这两个数二进制的补码形式参与运算会得到一个二进制补码形式1. 然后再将这个二进制的补码形式最终变回二进制的原码形式,然后再变成十进制,就得到1<a name="N3yuc"></a>## 总结- 正数的原码反码和补码的转换规则正数的原码,反码和补码是一样的- 负数的原码反码和补码的转换规则负数的原码变反码:符号位不变,其余的0变1,1变0<br />负数的反码变补码,只需要+1<a name="jGlDK"></a># 🥯变量> 在一定范围内,可以发生变化的量<a name="HufAt"></a>## 变量的定义格式- 格式一:数据类型 变量名 = 数据;(直接定义)
int a = 12;
- 格式二:数据类型 变量名;(间接定义)变量名 = 数据;```javaint i;i = 2;
💡思考:当我们在程序中写了int i = 12这样一句代码,当我们运行的时候,内存中到底做了哪些事情呢?
在内存中会开辟一块内存空间,该空间的名字就是我们起的变量名i,该空间中存储的数据的数据类型就是我们给的int类型,该空间中存储的数据就是我给的12。
注意问题
当我们给float类型变量赋值的时候,要在数据的后面加上F或者f
float i = 1.45F;
当我们给long类型变量赋值的时候,建议在后面加上L或者l
long i = 120000L;
当我们想要使用某个变量的时候,一定要先赋值,再使用,要不然会报错
- 当我们想要给某个变量赋值的时候,一定要考虑该变量的范围,要不然会报错
- 在同一对花括号内,不能定义同名变量 ```java int i = 12; int i = 13;//错误的
int i = 12; i = 13;//正确的额,这是二次赋值
<a name="h4Wj6"></a># 🍞数据类型> Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间。共2大类4小类8小种<br /><a name="U3Xao"></a>## 整型- byte(1个字节)- short(2个字节)- int(4个字节)- long(8个字节)一个整数,默认的数据类型是int<a name="yJkoJ"></a>## 浮点型- float(4个字节)- double(8个字节)一个小数,默认的数据类型是double<a name="QNMbQ"></a>## 字符型- char(2个字节)<a name="BmE1B"></a>## 布尔型- boolean(1个字节)- true或false。<a name="UrB99"></a>## 引用数据类型(以后学)<a name="FcAsL"></a># 🥥数据类型的转换> 小的数据类型会自动提升为大的数据类型```java举例子:byte b = 1;short s = 2;int i = 3;long l = 4;float f = 3.14f;double d = 3.14;double dd = b + s + i + l + f + d;
当多个数据类型参与运算的时候,小的数据类型会自动提升为大的数据类型
注意:boolean类型不能和其他数据类型相互转换
常见的考试题?
情况一:byte b1 = 1;byte b2 = 2;byte b3 = b1 + b2;System.out.println(b3);//编译报错short s1 = 1;short s2 = 2;short s3 = s1 + s2;System.out.println(s3);//编译报错情况二:byte b1 = 1;byte b2 = b1 + 2;System.out.println(b2);//编译报错short s1 = 1;short s2 = s1 + 2;System.out.println(s2);//编译报错
结论:针对byte类型和short类型的时候,只要右边有一个是变量,就会编译报错
情况三:byte b = 126 + 1;System.out.println(b);//正确,127情况四:byte b = 127 + 1;System.out.println(b);//编译报错,因为byte范围最大值是127
强制类型转换
是指大的数据类型被强制转换成小的数据类型
强制类型转换的格式?
小的数据类型 小的数据类型的变量名 = (小的数据类型)大的数据类型的变量名;
举例子:
int i = 130;byte b = (byte)i;
注意:我们能不使用强制转换,尽量不要使用,因为转不好会出现问题
int i = 130;byte b = (byte)i;System.out.println(b);//却是得-126

🍅ASCII编码表
字符也是可以参与计算中的

char aa = 'a';System.out.printIn(a);System.out.printIn( '' + 0); //查询语句'a' -> 97'A' -> 65'0' -> 48
