一、相关概念
- 标识符
(1)标识符的命名规则- 标识符可以由字母、数字、下划线(_)和美元符号($)组成,不能以为数字开头;
- 标识符严格区分大小写;
- 标识符不能是 Java 关键字和保留字;
- 标识符的命名最好能反映出作用;
- 关键字
- 变量
(1)变量的三个元素:变量类型、变量名和变量值
(2)变量名的命名规则- 满足标识符命名规则;
- 符合驼峰法命名规范;
- 尽量简单,做到见名知意;
- 变量名的长度没有限制;
(3)类的命名规则: - 满足 Pascal 命名法规范;
- 数据类型
(1)基本数据类型(8种3大类):- 数值型
- 整数类型(byte、short、int、long)
- 浮点类型(float、double)
- 字符型(char)
- 布尔型(boolean):true、false
3基本数据类型.png
(2)引用数据类型:类(class)、接口(interface)、数组
- 数值型
变量声明
- 格式:数据类型 变量名;
- 例:
- int n; 声明整型变量n
- long count; 声明长整型变量count
赋值
- 使用“=”运算符进行赋值
- “=”叫做赋值运算符,将运算符右边的值赋值给左边的变量。
- 例 int n; 定义int型变量n
- n=3; 将3赋值给n
- 可以在定义变量的同时给变量赋值,即变量的初始化。
- 例:int n = 3;
基本数据类型的存储
- 数据类型分为基本数据类型和引用数据类型
- 引用数据类型包括数组和类等
- 类定义的变量又叫对象
- 按照作用范围分为:
- 类级、对象实例级、方法级(局部变量)、块级
-
内存分为:栈、堆、常量池等区域,不同作用范围的数据分别存放在内存的不同区域。
如 int n = 100;该语句会先在内存的栈区中开辟一块空间,将数值100存储到该空间中;n可以理解为对该空间起的一个别名。
4内存的区域划分与数据存储.png
-
类型转换
-
类型转换分为自动类型转换和强制类型转换
-
自动类型转换又叫隐式类型转换
5自动类型转换顺序.png
-
强制类型转换
-
如果A类型的数据表示范围比B类型大,则将A类型的值赋值给B类型时需要强制类型转换
- 如:double d = 123.4;
float f = (float)d; - 强制数据类型转换的格式:(数据类型)数值
public class TypeExchange { public static void main(String[] args) { //char类型和int类型之间的转换 char c = (char)65536; int n; n = c;//隐式类型转换 c = (char)n; //整型和浮点型的类型转换问题 int x = 100; long y = x; x = (int)y; float f = 1000000000000L; System.out.println("f="+f); float f1 = 103948583923948L; System.out.println("f1="+f1); } }
运行结果如下:
f=1.0E12
f1=1.03948585E14 - 如:double d = 123.4;
-
-
常量
(1)用final修饰的变量
- 用 final 修改的变量不能被修改
- 变量名一般用大写来表示
如:格式如: final int N = 5;
(2)字面值(常量和变量实际表示的数值)-
Java 中有三种表示整数的方法:十进制、八进制和十六进制
6字面值.png
-
整型字面值:
- 八进制:以0开头,包括0-7的数字,如:037、056;
- 十六进制表示:以0x或0X开头,包括0-9的数字,及字母a-f,A-F,a表示数字10,以此类推!如:0x12,0xabcf,0XABCFF
-
浮点型字面值
-
浮点型字面值默认情况下表示 double 类型,也可以在值后加d或D
- 如:123.43d 或123.43D
- 如表示float 类型,则需要在字面值后加f或F
- 如:23.4f 或 23.4F
public class FloatDemo { public static void main(String[] args) { //定义一个单精度浮点型变量,存放1234.328 float f = 1234.328f; System.out.println("f="+f); //定义一个双精祺浮点型变量,存放5623.456 double d = 5623.464; System.out.println("d="+d); //将整型赋值给浮点型 double d1 = 123; System.out.println("d1="+d1); //变量间的赋值 double d2 = d; System.out.println("d2=" +d2); } }
运行结果如下所示:
f=1234.328
d=5623.464
d1=123.0
d2=5623.464
-
-
字符型字面值:
-
字符型字面值用单引号内的单个字符表示。
- 如:'a','b','$'
- 单引号中必须只有一个字符
- 如何定义字符型变量?
- char a = 'a';
- char ch=65;
public class CharDemo { public static void main(String[] args) { //定义一个变量存放字符'a' char a = 'a'; System.out.println("a = " + a); char ch = 65535; //char类型定义的数据范围是0~65535,当值超出这个范围,则需做类型的强制转换,否则会报错。 char ch1= (char) 65536; System.out.println("ch=" + ch); char c = '\u005d'; System.out.println("c="+c); } }
运行结果如下:
a = a
ch=�
c=]结论:
- 整型和浮点型是可以互相转换的;
- 整型和浮点型互相转换的依据是 ASCII 码表。
ASCII 码
- ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)
- 基于拉丁字母的一套电脑编码系统
- 主要用于显示现代英语和其他西欧语言
ASCII 码表示
- 使用7位或8位二进制数组合来表示128或256种可能的字符。
- 7位二进制数组合——标准ASCII码;标准ASCII 码表示大小写字母、标点符号、美式英语中的控制字符等。
- 8位二进制数组合(后128位)——扩展ASCII 码。扩展ASCII码表示特殊符号,外来语言的字母等。
Unicode编码
- ASCII 码是美国标准信息交换码,ASCII码不能支持所有的语言;
- Unicode编码又称为统一码、万国码。Unicode 编码的目标是支持世界上所有的字符集。
- 如:char c = '\u005d';
- Unicode 表示法,在值前加前缀\u
转义字符
public class VarDemo { public static void main(String[] args) { //定义两个整型变量x,y // int x=3,y=5; int x,y; x=3;y=5; System.out.println("x="+x); System.out.println("y="+y); //关于换行的问题 System.out.print(""+x+'\t'+y+'\n'); //System.out.println();//换行 System.out.println(x+","+y); //定义一个汉字的字符 char ch = '爱'; System.out.println(ch); char 人 = '我';//不建议中文作为变量名 System.out.println(人); //用科学计数法表示浮点型数据 double d = 1.23E5; float f = 1.23e5f; double d1 = .2; System.out.println("d="+d); System.out.println("f="+f); System.out.println("d1="+d1); } }
运行结果如下:
x=3
y=5
3 5
3,5
爱
我
d=123000.0
f=123000.0
d1=0.2转义字符 描述 \uxxxx 四位16进制数所表示的字符 \' 单引号字符 \" 双引号字符 \\ 反斜杠字符 \r 回车 \n 换行 \t 横向跳格 \b 退格
-
-
布尔类型字面值:
- 布尔值只能定义为 true 和 false
- 例:boolean b = true;
-
字符串类型字面值:
- 字符串不属于基本数据类型,它是类!
- 字符串字面值表示:双引号引起来的0个或多个字符。
- 如:String s = "";
public class StringDemo { public static void main(String[] args) { //定义一个空字符串 String s1 = ""; System.out.println("s1="+s1); //定义一个字符串,内容是 Hello String s2 = "Hello"; System.out.println("s2="+s2); //定义一个包含unicode字符的字符串 String s3 = "A\u005d\u005fB"; System.out.println("s3="+s3); //定义一个包含空格的字符串 String s4="Hello java!"; System.out.println("s4="+s4); } }
运行结果如下:
s1=
s2=Hello
s3=A]_B
s4=Hello java!
-
-
Java 中有三种表示整数的方法:十进制、八进制和十六进制
网友评论