数据类型
标识符
- 标识符:读标识(zhi)符
- 标识符的含义:代码中只要需要取名的,取的那个名字统称标识符
- 标识符的定义规则:
- 可以由四种类型的字符组成:数字,字母,下划线_,美元符号$。(字母的概念很宽泛,可以是英文,中文,日文等,但是尽量使用英文)
- 两个不可以,不可以数字开头,不可使用Java关键字命名
- 见名知意,就是看到名字就知道什么意思,为了增加可读性
- java中大小写敏感,A跟a两个类型是完全不同的
- 命名需要遵照驼峰命名法,如HolleWorld,每个单次的首字母大写
- 类名:首字母需要大写,其余遵循驼峰命名
- 方法名,类名:首字母小写,其余遵循驼峰命名
- 包名:全部小写,可以不遵循驼峰命名
- 长度不限制,但是不建议太长
关键字
- 关键字:就是在java中被赋予特殊含义的用于专门用途的单次,就是关键字
变量和常量
常量
- 含义:常量通常指的是一个固定的值,如:1、2、3、‘a’、‘b’、true、false、等
- 定义:在java中,主要使用利用关键字final来定义一个常量,常量一旦被初始化后,它的值不能再被更改
- 字面常量&字符(符号)常量
- 字面常量:表达字面意思,1就是1,2就是2,这种叫字面常量
- 字符常量:使用final关键字修饰的PI等称为字符常量或者符号常量
- 字面常量的类型:
- 整型常量:123、23、等整数
- 实型常量:3.1415926 小数
- 字符常量:‘a’ 使用单引号括起来的字符
- 逻辑常量:true跟false 逻辑常量只有两个值
- 字符串常量:“helloworld”
变量
含义:变量本质上就是代表一个“可操作性存储空间”,空间位置是确定的,但是里面放什么值不确定,我们可以通过变量名来访问“对应存储空间”,从而操作空间中的值,java是一种强类型的语言,每个变量必须要有明确的变量名(空间地址)变量类型(空间大小)变量做为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域,变量只有在声明之后,才能为其分配对应长度的存储空间
-
变量声明格式:
type varName [ = value ] [varName[=value]…];
int age = 19 , age2 = 20;
数据类型 变量名 [=初始值] [,变量名 [=初始值] …];
-
变量的声明
- 如果你只定义一个变量,没有给变量赋值,相当于没有声明这个变量
- 变量如果没有赋值,使用的时候会报错:可能尚未初始化变量
-
变量的赋值
-
变量的赋值有两种形式,第一种
int age; age = 10;
第二种;
int age = 10;
使用第一种的时候,编译之后,编译器会默认使用第二种方式,所以我们在日常使用当中,较多的会使用第二种方法来进行变量赋值
-
变量的值可以重复更改,重新赋值
-
变量的名称不可以重复
-
-
变量的使用
package com.javaLearn.variable; public class demo01 { public static void main(String[] args) { int age = 10; age = 20; age = 21; age = 40; age =age + 20; System.out.println(age - 2); System.out.println(age + 10); } }
-
变量的内存
- 创建一个变量后,会在内存中开辟一块空间,变量名,变量类型,变量的值三者与内存的关系如下
- 变量名:变量名相当于对应值在内存中的唯一地址,通过变量名系统可以访问到对应的值,所以,变量名不可以重复
- 变量类型:考虑到不同大小的值所占用的空间大小不同,所以为了节省空间,我们要进行变量的类型声明,用什么样的类型就创建多大的内存空间
- 变量值:变量值就是实际存储在内存空间中的数据
- 创建一个变量后,会在内存中开辟一块空间,变量名,变量类型,变量的值三者与内存的关系如下
-
习题
package com.javaLearn.variable; public class problem01 { public static void main(String[] args) { int num1 = 10; int num2 = 20; num1 = num2; num2 = num2 + 10; num1 = num2 - 10; num2 = num1; System.out.println("num1 = "+ num1); System.out.println("num2 = "+ num2); } } ---------------------------------------------------------- D:\Java\JDK1.8\bin\java.exe "-javaagent:D:\IntelliJ IDEA Community Edition 2021.2\lib\idea_rt.jar=14653:D:\IntelliJ IDEA Community Edition 2021.2\bin" -Dfile.encoding=UTF-8 -classpath D:\Java\JDK1.8\jre\lib\charsets.jar;D:\Java\JDK1.8\jre\lib\deploy.jar;D:\Java\JDK1.8\jre\lib\ext\access-bridge-64.jar;D:\Java\JDK1.8\jre\lib\ext\cldrdata.jar;D:\Java\JDK1.8\jre\lib\ext\dnsns.jar;D:\Java\JDK1.8\jre\lib\ext\jaccess.jar;D:\Java\JDK1.8\jre\lib\ext\jfxrt.jar;D:\Java\JDK1.8\jre\lib\ext\localedata.jar;D:\Java\JDK1.8\jre\lib\ext\nashorn.jar;D:\Java\JDK1.8\jre\lib\ext\sunec.jar;D:\Java\JDK1.8\jre\lib\ext\sunjce_provider.jar;D:\Java\JDK1.8\jre\lib\ext\sunmscapi.jar;D:\Java\JDK1.8\jre\lib\ext\sunpkcs11.jar;D:\Java\JDK1.8\jre\lib\ext\zipfs.jar;D:\Java\JDK1.8\jre\lib\javaws.jar;D:\Java\JDK1.8\jre\lib\jce.jar;D:\Java\JDK1.8\jre\lib\jfr.jar;D:\Java\JDK1.8\jre\lib\jfxswt.jar;D:\Java\JDK1.8\jre\lib\jsse.jar;D:\Java\JDK1.8\jre\lib\management-agent.jar;D:\Java\JDK1.8\jre\lib\plugin.jar;D:\Java\JDK1.8\jre\lib\resources.jar;D:\Java\JDK1.8\jre\lib\rt.jar;D:\code\JavaSE\out\production\基础语法 com.javaLearn.variable.problem01 num1 = 20 num2 = 20 Process finished with exit code 0
-
作用域
- 作用域值的就是变量的作用范围,变量在什么范围中有效。
- 变量的作用域可以理解为,离他最近的{}。
局部变量:
定义在方法中的变量
成员变量:
定义在类中,方法外的变量