JavaBase
一.变量01
1.变量的概念
在java中,变量是一个存储数据的容器,具有特定的数据类型和名称
定义:变量在程序中通过特定的语法进行声明和初始化
int age = 30 String name = "Alice" double salary = 8000.3
2.变量的作用域
变量的作用域决定了变量在程序中的可见范围。在Java中,变量可以在方法内、类内或代码块内声明
-
局部变量:
在方法、构造函数或代码块中声明的变量称为局部变量。变量的作用于仅限于声明它的方法、构造函数或代码块
-
成员变量:
在类中声明但不在任何方法、构造函数或代码块中的变量称为成员变量。成员变量的作业域是整个类
-
静态变量:
用static关键字修饰的成员变量称为静态变量。静态变量属于类,而不属于类的任何实例。静态变量在类加载器时初始化,并且在整个程序的生命周期内只有一份副本
3.变量的生命周期
-
局部变量:局部变量在声明它的方法、构造函数或代码块被执行时创建,在方法、构造函数或代码块执行完毕后销毁。
-
成员变量:成员变量在创建类的实例时创建,在对象被垃圾回收时销毁。
-
静态变量:静态变量在类加载时创建,在程序结束时销毁
4.变量的命名规则
-
变量名必须是一个有效的标识符,由字母、数字、下划线和美元符号组成,但不能以数字开头。
-
变量名应该具有描述性,能够清楚地表达变量的用途。
-
变量名应该遵循驼峰命名法,即第一个单词的首字母小写,后面每个单词的首字母大写。例如
myVariable
、myAge
等。
二:数据类型(基本数据和引用数据类型)
-
分为数值(整型和非整型)和非数值(char、String)
-
java数据类型包括数据类型、类、接口及数组
3.基本类型:
-
整数类型
-
byte: 占1个字节
-
short:占2个字节
-
int:占4个字节
-
long:占8个字节
-
-
浮点类型:
-
float:占4个字节,单精度浮点数。
-
double:占8个字节,双精度浮点数,精度更高
-
-
字符类型:
-
char:占2个字节,用于表示单个字符,可以是字母、数字、符号等
-
-
-
布尔类型:
-
boolean:只有两个值,false(假)和true(真)
4. 引用数据类型
-
类:自定义的类类型,通过类的实例化创建对象
-
接口:定义了一组方法签名,实现接口的类必须实现这些方法
-
数组:用于存储相同类型的多个元素
-
枚举:一种特殊的类,用于定义一组有限的常量值
-
-
字符串的拼接
使用"+"运算符
String str1 = "Hello"; String str2 = "World"; String result = str1 + " " + str2; System.out.println(result); //
6.赋值运算和算术运算符
6.1 赋值运算符:
-
基本赋值运算符 "=" :
用于将一个值赋给一个变量。 int a= 10
-
复合赋值运算符:
由基本赋值运算符和算术运算符组合而成,包括+=、-=、*=、/=、%= 如:a+10 =30
6.2 算术运算符
算术运算符 | 说明 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除**/取整** |
% | 取模**/取余** |
++ | 递增运算 |
-- | 递减运算 |
+= | 加法赋值 |
-= | 减法赋值 |
***=** | 乘法赋值 |
/= | 除法赋值 |
%= | 取模赋值 |
6.3关系运算符
关系运算符 | 说明 |
---|---|
= = | 等于 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<=**===** | 小于等于**全等于** |
6.4 逻辑运算符
逻辑运算符 | 说明 |
---|---|
& | 逻辑 与 |
| | 逻辑 或 |
^ | 逻辑 异或 |
|| | 短路 或 |
&& | 短路 与 |
! | 逻辑 非 |
&= | 逻辑与 赋值 |
|= | 逻辑或 赋值 |
^= | 逻辑异或 赋值 |
= = | 等于 |
!= | 不等于 |
?: | 三元运算(if-then-else) |
7.数据类型的转换
7.1 数据类型的自动转换
自动转换在互相兼容的数据类型间进行:
比如数字类型是相互兼容的,而数字类型和char类型或者boolean类型是不兼容的。实现自动转化需要满足以下两个条件: 两种类型是相互兼容的,例如int型可以兼容所有有效的byte值。 目的类型要比源类型表达的数据范围广。
7.2 数据类型的强制转换
强制转换主要是为了解决不能相互兼容数据之间的转换。强制类型转换是一种显性的类型转换,它的一般形式如下: (type)value; 其中type表示转换后的类型,value表示需要转换的值。
三.输入器Scanner的运用(强调导包)
在 Java 中,Scanner
类用于从控制台或文件等输入源获取用户输入。以下是关于Scanner
的运用及导包的介绍:
一、导包
在使用Scanner
类之前,需要在代码中导入相应的包。在 Java 中,Scanner
类位于java.util
包中。可以在代码的开头使用import
语句导入该包,例如:
import java.util.Scanner;
二、创建Scanner对象
导入包后,可以通过以下方式创建一个Scanner
对象:
System.in
表示标准输入流,通常是控制台输入。通过将其作为参数传递给Scanner
的构造函数,创建了一个可以从控制台读取输入的Scanner
对象。
Scanner scanner = new Scanner(System.in);
三、使用Scanner获取输入
-
获取整数输入:
System.out.println("请输入一个整数:"); int number = scanner.nextInt(); System.out.println("你输入的整数是:" + number);
这段代码首先输出提示信息,然后使用scanner.nextInt()
方法从控制台读取一个整数,并将其存储在变量number
中,最后输出用户输入的整数
-
获取字符串输入:
System.out.println("请输入你的名字:"); String name = scanner.next(); System.out.println("你好," + name);
scanner.next()
方法用于读取一个字符串,这里读取用户输入的名字并输出问候语。
-
获取浮点数输入
System.out.println("请输入一个浮点数:"); double decimalNumber = scanner.nextDouble(); System.out.println("你输入的浮点数是:" + decimalNumber);
scanner.nextDouble()
方法用于读取一个浮点数。
四、关闭Scanner对象
在使用完Scanner
对象后,应该及时关闭它以释放资源。可以使用scanner.close()
方法来关闭Scanner
对象。例如:
scanner.close();
五.++前置和++后置
-
++前置
-
前置++表示先将变量的值自增1,然后再使用自增后的新值进行表达式计算
-
int a = 5; int b = ++a; System.out.println("a = " + a + ", b = " + b);
-
后置 ++
-
后置++表示先使用变量的当前值进行表达式的计算,然后再将变量的值自增1
-
int c = 5; int d = c++; System.out.println("c = " + c + ", d = " + d);
六.equals用法
在Java中,.equals()方法用于比较两个对象的内容是否相等
一. 基本用法
-
对于字符串类型
-
可以直接使用.equals()方法比较两个字符串的内容是否相同。
-
String str1 = "Hello"; String str2 = "Hello"; String str3 = "World"; System.out.println(str1.equals(str2)); // 输出 true System.out.println(str1.equals(str3)); // 输出 false
-
对于其他对象类型
-
需要根据具体的类实现来判断两个对象是否相等。通常,类会重写Object类中的.equals()方法,以定义自己的相等性判断标准
-
二.与"=="运算符的区别
-
”==“ 运算符
-
对于基本数据类型,”==“比较的是两个值是否相等
-
对于引用数据类型,”==“比较的是两个对象的引用是否指向同一个内存地址
-
-
.equals()方法
-
通常用于比较两个对象的内容是否相等,具体的比较逻辑取决于类的实现
-