第二章 Java 基础语法、类型转换和运算符

*/


        常见的注释:



/**

  • 文档注释
  • @author kun
  • @date 2024
  • @version 1.0.0
    /
    public class ChinaWorld {
    // main函数
    /

    多行注释
    main函数
    */
    public static void main(String[] args) {
    System.out.println(“HelloWorld欢迎您来到这个世界!”);
    }
    }

### 2.关键字


**关键字:**在程序中,Java 已经定义好的单词,具有特殊意义;例如:public、class、static、void等


        还有一些其他的关键字:


![](https://img-blog.csdnimg.cn/direct/716403736416482595cc498727f3e3d3.png)



> 
> **true,false,null看起来像关键字,但从技术角度,它们是特殊的布尔值和空值。**
> 
> 
> 


### 3.标识符


        程序员给类、变量、方法、包等命名的字符序列,称为标识符


#### 3.1 标识符的命名规则(必须遵守的硬性规则)


1. Java的标识符只能使用26个英文字母大小写,0-9的数字,下划线\_,美元符号$
2. 不能使用Java的关键字(包含保留字)和特殊值
3. 数字不能开头
4. 不能包含空格
5. 严格区分大小写


#### 3.2 标识符的命名规范(建议遵守的软性规则,否则容易被鄙视和淘汰)


1. 见名知意
2. 驼峰式命名,例如:HelloWorld,String,System,age,name,bookName等
3. 常量名等:每一个单词都大写,单词之间使用下划线\_分割,例如:MAX\_VALUE,PI


### 4.初识数据类型


#### 4.1 Java 数据类型分为两大类:


**基本数据类型():**整形(byte,short,int,long)、浮点型(float,double)、字符型(char)、布尔(boolean)


**引用数据类型(复杂数据类型):**数组(array[ ])、类(class)、接口(interface)


![](https://img-blog.csdnimg.cn/direct/97dcfe2aff654077ab8f4d49bcd8993e.png)


#### 4.2 Java 基本数据类型的存储范围


![](https://img-blog.csdnimg.cn/direct/5e8583228c3440dda2ab84e96318f69e.jpeg)


### 5.常量


**常量值:在程序执行的过程中,其值不可以发生改变**





 常量值分类 
 | 类型 | 举例 |
| 整数型常量值 | 1,2,12,123456789987654321L |
| 浮点型常量值 | 3.14F,88.88 |
| 字符型常量值 | ‘a’,'2','胡' |
| 布尔型常量值 | true,false |
| 字符串常量值 | "HelloWorld" |


### 6.变量


**变量:在程序执行的过程中,其值可以发生改变的量**


#### 6.1 变量的声明



// 声明一个整数类型的数字
int num;

// 声明一个浮点型的身高
double height;

// 声明一个字符类型的性别
char gender;

// 声明一个布尔类型的数据
boolean marry;

// 声明一个字符串类型的姓名
string name

// 一次声明多个变量
int a,b;// a,b 都是 int 类型


#### 6.3 变量的赋值


**变量赋值的语法格式:变量名 = 值;**


                1.给变量赋值,变量名必须在=左边,值必须在=右边


                2.给变量赋的值类型必须与变量声明的类型一致或兼容(<=)


**long类型:如果赋值的常量整数超过int范围,那么需要在数字后面加L/l。**


**float类型:如果赋值为常量小数,那么需要在小数后面加F/f。**


**char类型:使用单引号''**


**String类型:使用双引号""**


#### 6.4 变量的输出


        如果()中有多项内容,那么必须使用 + 连接起来



System.out.println(“HelloWorld欢迎您来到这个世界!”);

System.out.println(“姓名”+name+“性别”+gender); //如果()中有多项内容,那么必须使用 + 连接起来


#### 6.5 变量反复赋值



public class VarDemo {
public static void main(String[] args){
// 步骤:1.声明 2.赋值
int num =100;
int num2;
int num3,num4,num5;
num2=10;
num3=100;
System.out.println(num);
System.out.println(num2);
// System.out.println(num3);

    // num3=9.123;
    // num5=20;
    // 报错
    // int num2 = 90;
    // 重新赋值
    System.out.println(num3);
    // System.out.println(num5);


}

}


#### 6.6 变量的三要素


1、数据类型


* 变量的数据类型决定了在内存中开辟多大空间
* 变量的数据类型也决定了该变量可以存什么值


2、变量名


* 见名知意非常重要
* 给这块内存区域赋值,例如:我们现在在”XX科技园“,我们住的校区叫做”新芒果春天“


3、值


* 基本数据类型的变量:存储数据值
* 引用数据类型的变量:存储地址值,即对象的首地址。


#### 6.7 变量的使用应该注意什么?


1、先声明后使用



> 
> 如果没有声明,会报“找不到符号”错误
> 
> 
> 


2、在使用之前必须初始化



> 
> 如果没有初始化,会报“未初始化”错误
> 
> 
> 


3、变量有作用域



> 
> 如果超过作用域,也会报“找不到符号”错误
> 
> 
> 


4、在同一个作用域中不能重名


5、变量值的类型必须与变量声明的类型一致或兼容(<=)




|  |
| --- |
| 兼容:可以装的下,=右边的值要 小于等于 =左边的变量类型 long num = 10;10是 int 类型;num 是 long 类型 |





#### 6.8 最终变量/常量(final)


最终变量习惯上也称为常量,因为它是通过在声明变量的数据类型前面加final的方式实现的,所以叫最终变量。加final修饰后,这个变量的值就不能修改了,一开始赋值多少,就是多少,所以此时的变量名通常称为常量名。常量名通常所有字母都大写,每一个单词之间使用下划线分割,从命名上和变量名区分开来。


这样做的好处,就是可以见名知意,便于维护。



public class FinVar {
public static void main(String[] args) {
// 常量
final float PI_VALUE=3.14f;

    // PI_VALUE = 3.1415926f;
    // 无法为最终变量进行更改赋值
    System.out.println(PI_VALUE);
}

}


### 7.进制的分类(了解)




|  |  |  |
| --- | --- | --- |
| 进制 | 数字组成 | 进位规则 |
| 二进制(0b 或 0B 显示) | 0 - 1 | 逢二进一 |
| 八进制(0 开头) | 0 - 7 | 逢八进一 |
| 十进制(正常显示) | 0 - 9 | 逢十进一 |
| 十六进制(0x 或 0X 开头) | 0 - 9,a - f | 逢十六进一 |


        注意:十进制的256,二进制:100000000,为了缩短二进制的表示,又要贴近二进制,在程序中引入八进制和十六进制


### 9.计算机存储单位(掌握)


* **字节(Byte):**是计算机信息技术用于计量存储容量的一种计量单位,一字节等于八位。
* **位(bit):**是数据存储的最小单位。也就是二进制。二进制数系统中,每个0或1就是一个位,叫做bit(比特),其中8 bit 就称为一个字节(Byte)。
* **转换关系:**


	+ 8 bit = 1 Byte
	+ 1024 Byte = 1 KB
	+ 1024 KB = 1 MB
	+ 1024 MB = 1 GB
	+ 1024 GB = 1 TB


### 10.基本数据类型转换


#### 10.1 自动类型转换


1. 将**`取值范围小的类型`**自动提升为**`取值范围大的类型`**
2. 当存储范围小的数据类型与存储范围大的数据类型一起混合运算时,会按照其中最大的类型运算。


        自动类型转换(隐式类型转换)  由小到大    7个类型(byte、short、char、int、long、float、double)参与


**规则如图:**


![](https://img-blog.csdnimg.cn/direct/13001b75fc65433ba77bfe7b874c2d64.jpeg)


**演示代码:**



// 当存储范围小的数据类型和存储大的数据类型进行运算时,会转换为存储大的数据类型
System.out.println(10 + 2.3); // int + double = double


#### 10.2 强制类型转换


1. 强制类型转换格式:**(数据类型)数据**
2. 提升数据类型


        将**取值范围大的类型**强制转换成**取值范围小的类型**


**演示代码:**



// 1.强制类型转换的基本语法 (数据类型)数据
int num1 = (int) 2.3;
System.out.println(num1); // 2

// 2.提升数据类型
int douNum1 = 10;
int douNum2 = 20;
System.out.println((double) douNum1 * douNum2);


### 11.运算符(Operator)和标点符号(Separators)


运算符的分类:


        按照功能分:算术运算符、赋值运算符、比较运算符、逻辑运算、条件运算符、Lambda运算符





 运算符的分类(功能) 
 | **分类** | **运算符** |
| --- | --- |
| 算术运算符(7个) | +、-、\*、/、%、++、-- |
| 赋值运算符(12个) | =、+=、-=、\*=、/=、%=、>>=、<<=、>>>=、&=、|=、^=等 |
| 关系运算符(6个) | >、>=、<、<=、==、!= |
| 逻辑运算符(6个) | &、|、^、!、&&、|| |
| 条件运算符(2个) | (条件表达式)?结果1:结果2 |
| 位运算符(7个) | &、|、^、~、<<、>>、>>> |
| Lambda运算符(1个) | ->(后面学) |


        按照操作数个数分:一元运算符(单目运算符)、二元运算符(双目运算符)、三元运算符 (三目运算符)  





 运算符的分类(操作个数) 
 | 分类 | 运算符 |
| --- | --- |
| 一元运算符(单目运算符) | 正号(+)、负号(-)、++、--、!、~ |
| 二元运算符(双目运算符) | 除了一元和三元运算符剩下的都是二元运算符 |
| 三元运算符 (三目运算符) | (条件表达式)?结果1:结果2 |


#### 11.1 算术运算符




| 算术运算符 | 符号解释 |
| --- | --- |
| `+` | 加法运算,字符串连接运算,正号 |
| `-` | 减法运算,负号 |
| `*` | 乘法运算 |
| `/` | 除法运算,整数/整数结果还是整数 |
| `%` | 求余运算,余数的符号只看被除数 |
| `++` 、 `--` | 自增自减运算 |



**演示代码:**



public class Operator {
public static void main(String[] args) {
// 算术运算符
System.out.println(3 + 2); // 5

    // ASCII运算
    System.out.println('3' + '2');  // 101
    
    // 拼接 +
    System.out.println(20 + "30");  // 2030

    //  - * / %

    int a = 10;
    int b = 3;
    int c = 'a';
    String d = "100";
    System.out.println(a - b);  // 7
    System.out.println(c - a);  // 87
    
    // System.out.println(d - a);  不被支持
    
    System.out.println(a / b);  // 3
    System.out.println(a % b);  // 1
    System.out.println(b % a);  // 3
}

}


##### 11.1.1 "+" 号的两种用法


* 第一种:对于 "`+`" 两边都是数值的话,"`+`" 就是加法的意思
* 第二种:对于 "`+`" 两边至少有一边是字符串得话,"`+`" 就是拼接的意思


代码:



// 算术运算符
System.out.println(3 + 2); // 5

// 拼接 +
System.out.println(20 + “30”); // 2030


##### 11.1.2 自增自减运算符



++ 在前 先运算,再自增
        ++ 在后 先自增,再运算


代码:



 **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

![img](https://img-blog.csdnimg.cn/img_convert/86bc60766dc4af1c9b1910344eb403f1.png)

![img](https://img-blog.csdnimg.cn/img_convert/78985cc5d16fee84c800222e3324b461.png)

![img](https://img-blog.csdnimg.cn/img_convert/e0799bfb939e25dc9aa8592df7de0226.png)

![img](https://img-blog.csdnimg.cn/img_convert/f77e9588c0b3a836466626df3a35d6df.png)

![img](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)

![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)**

中...(img-Pbg5JVKb-1713806639309)]

[外链图片转存中...(img-QdpaBp8K-1713806639310)]

[外链图片转存中...(img-p7Kud9do-1713806639311)]

[外链图片转存中...(img-LaQQoqU0-1713806639312)]

![img](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)

![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)**

![](https://img-blog.csdnimg.cn/img_convert/5ef16a86e48e1c846e8fc58f4b082033.jpeg)
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值