第二章 Java基本语法(上)——变量与运算符

1、关键字和保留字

1.1 关键字(keyword)

定义:被Java语言赋予了特殊含义,用作专门用途的字符串。
特点:关键字中所有字母都为小写
在这里插入图片描述
在这里插入图片描述

1.2 保留字(reserved world)

Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用,自己命名标识符时要避免使用这些保留字。
goto、const

2、标识符(identifier)

定义:Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符
(凡是可以自己其名字的地方都叫标识,比如类名、变量名、方法名、接口名、包名…)
标识符命名规则:
在这里插入图片描述
若不遵守规则,则编译出错。
Java中的名称命名规范,若不遵守,编译也可以通过,但建议遵守
在这里插入图片描述

3、变量

概念:内存中的一个存储区域,该区域的数据可以在同一类型范围内不断变化。变量是程序中最基本的存储单元,包含变量类型、变量名和存储的值。
作用:用于在内存中保存数据
使用变量注意:

  • Java中每个变量必须先声明,后使用
  • 使用变量名来访问这块区域的数据
  • 变量的作用域:其定义所在的一对{}内
  • 变量只有在其作用域内才有效
  • 同一个作用域内,不能定义重名的变量
  • Java定义变量的格式:数据类型 变量名 = 变量值

3.0 变量的分类

1.变量按照数据类型来分
在这里插入图片描述

2.变量按照声明位置不同
在这里插入图片描述

3.1 基本数据类型

  • Java各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证java程序的可移植性。
  • Java的整型常量默认为int型,声明long型常量需后加“l”或“L”
  • Java的浮点型常量默认为double型,声明float型常量,需后加“f”或“F”
  • Java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long
  • bit:计算机中的最小存储单元。byte:计算机中基本存储单元。
  • 定义char型变量,通常使用一对单引号,单引号内只能写一个字符,要写多个需用字符串。
类型占用存储空间表数范围
byte1字节(=8bit)-128~127
short2字节-2^15 ~ 2^15-1
int4字节-2^31 ~ 2^31-1
long8字节-2^63 ~ 2^63-1
单精度float(尾数可以精确到7位有效数字)4字节-3.403E38~3.403E8(表示的数值范围比long还大)
双精度double(精度是float的两倍)8字节-1.798E308~1.798E308
char(字符型)1字符=2字节表示方式:1、声明一个字符;2、转义字符\n,\t;3、直接使用Unicode值来表示字符型常量
布尔型Booleantrue、false只能取这两个值之一

引用数据类型

  • 类(class)
  • 接口(interface)
  • 数组(array)

引用数据类型的变量只能存储两类值:null 或 地址值(含变量的类型)

3.2 基本数据类型变量之间的转换

基本数据类型之间的运算规则:
前提:这里只讨论7种基本数据类型间的运算,不包含Boolean类型。
1、自动类型提升
当容量小的数据类型和容量大的数据类型做运算时自动提升为容量大的。此时的容量大小指的是,表示数的范围的大和小,比如:float容量要大于long的容量(可用精度理解)
byte、char、short——>int——>long——>float——>double
注意:当byte、char、short这三种类型的变量做运算时,结果都自动提升为int型。
2、强制类型转换

  • 强制类型转换是自动类型提升运算的逆运算
  • 需要使用强转符:()
  • 强制类型转换,可能导致精度损失
  • 整型常量默认类型为int型,浮点型常量默认类型为double型。
dounle d1=12.3;
int i1=(int)d1;//将double型的数据强制转化为int型

int i2=128;
byte b=(byte)i2;
System.out.println(b);//结果会输出-128(与进制有关);精度损失

3.3 基本数据类型与String间转换

3.3.1字符串类型String

  • String不是基本数据类型,属于引用数据类型
  • 声明String类型变量时,使用一对双引号“”
  • 使用方式与基本数据类型一致,如:String str = “abcd”
  • 一个字符串可以串接另一个字符串,也可以直接串接其他类型的数据。如:int n = 100;str = str + n;
  • String可以和8种基本数据类型做运算,且只能做连接运算,用+号,而且运算结果是String类型。

3.4 进制与进制间的转换

在这里插入图片描述

在这里插入图片描述

4、运算符

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

  • 算术运算符
  • 赋值运算符
  • 比较运算符(关系运算符)
  • 逻辑运算符
  • 位运算符(很少用)
  • 三元运算符

算术运算符在这里插入图片描述
注意:

  • 取模运算结果的正负和被模数(前面)的正负相同
  • 开发中,经常用%符号来判断能否被除尽的情况
  • 注意点:
short s1=10;
s1 = s1+1;//编译出错
s1 = (short)s1 +1;//编译正确
s1++;//正确,自增1不会改变本身变量的数据类型
//int i1 = i2 = 5;该赋值方法有误,编译会出错
		int i1,i2;
		i1=i2=5;//或int i1=5,i2=5;特别注意不能使用int i1=i2=5来赋值
		System.out.println("i1=" + i1 +",i2 =" + i2);
取模练习:
class Test{
	public static void main(String[] args){
		int i = 153;
		System.out.println("数字" + i + "的情况如下:");
		System.out.println("个位数" + i % 10);
		System.out.println("十位数" + i %100/10);
		System.out.println("百位数" + i / 100);
	}
}	

取模运算输出结果:
在这里插入图片描述
赋值运算符:
在这里插入图片描述
例子:
在这里插入图片描述
比较运算符:
在这里插入图片描述

  • " > , < , >= ,<= "运算符只能使用在数值类型的数据之间。
  • == 和 != 不仅可以使用在数值类型之间,也可以使用在其他类型之间,比如引用类型变量之间。

逻辑运算符:
在这里插入图片描述
注意:
1、区分 &与&&(|与||同理)

  • 相同点:&与&&的运算结果相同,当符号左边为 ture 时,都会执行符号右边的运算。

  • 不同点:当符号左边为 false 时,&会执行符号右边的运算,&&不会执行符号右边的运算。

  • 开发中推荐使用&&

  • 逻辑运算符操作的都是boolean类型的变量,结果也是Boolean类型。

部分代码示例:
在这里插入图片描述
位运算符(二进制运算,了解)
在这里插入图片描述
注意:

  • 位运算符操作的都是整型的数据
  • <<(左移):在一定范围内,每向左移一位,相当于乘以2
  • (移):在一定范围内,每向左移一位,相当于乘以2

三元运算符
在这里插入图片描述

  • 条件表达式的结果为boolean类型(true或false)
  • 表达式1和表达式2要能归为同种类型
  • 三元运算符可以嵌套使用
  • 凡是可以使用三元运算符的地方,都可以改写为if-else语句,反之不成立。
  • 如果程序既可以使用三元运算符,又可以使用if-else语句,优先选择三元运算符,原因:简洁、执行效率高。
    练习
int m = 12;
int n = 5;
max = (m > n)? m : n;
System.out.println(max);
(m > n)? 2 :"n大"  //无法统一输出的数据类型,不知道用什么类型去接收,会编译错误
String maxStr = (m > n)? "m大" : "n大"; //编译正确
String maxStr = (m > n)? "m大" : ( (m == n)? "m和n相等" : "n大");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值