一、java标识符
标识符:
- 1、java对各种变量、方法和类等要素名时使用的字符序列成为标识符。
- 2、技巧:凡是自己可以起名字的地方都叫标识符。
- 定义合法标识符的规则:
- a、由26个英语字母大小写,0-9,_或$组成。
- b、数字不可以开头。
- c、不可以使用关键字和保留字,但能包含关键字和保留字。
- d、java中严格区分大小写,长度无限制。
- e、标识符不能包含空格。
- 3、java中的名称命名规范:
-
包名:多单词组成时所有的字母都小写
-
类名、接口名:多单词组成时,所有单词的首字母大写。
-
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始首字母大写。
-
常量名:所有字母都大写,多单词时每个单词用下划线链接。
二、变量的概念
1、变量的概念
-
a.内存中的一个存储区域。
-
b.该区域的数据可以在同一类型范围内不断变化
-
c.变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值。
- 2、变量的作用
-
a.用于在内存中保存数据
- 3、使用变量时注意:
-
a.java中每个变量必须先声明再访问。
-
b.使用变量名来访问这块区域的数据
-
c.变量的作用域:其定义在一对{}内
-
d.变量只有在其作用域内才有效。
-
e.同一个作用域内,不能定义重名的变量。
- 4、变量的使用
-
a.java定义变量的格式: 数据类型 变量名 = 变量值。
public class StringUtils {
public static void main(String[] args) {
//变量的定义
int myAge = 12;
//变量的使用
System.out.println(myAge);
//变量的声明
int myNumber;
//变量的赋值
myNumber = 1001;
}
}
- 1、String属于引用数据类型
- 2、声明String类型变量时,使用一对"";
- 3、String可以和8中基本数据类型做运算,且运算只能时连接运算。
- 4、运算的结果仍然是String类型。
public class StringUtils2 {
public static void main(String[] args) {
String s1 = "hello World!";
System.out.println(s1);
String s2 = "a";
String s3 = "";
System.out.println(s2);
System.out.println(s3);
//********************
int number = 1001;
String numberStr = "学号";
System.out.println(number+":"+numberStr);//+连接运算
}
}
三、 强制类型转换
A、标题强制类型转换:自动类型提升运算的逆运算
- 1、需要使用强制符:()
- 2、注意点:强制类型转换,可能会导致精度损失
-
2.1对于整型常量:默认类型为int型
-
2.2浮点型常量:默认类型为double类型
B、 变量的分类-按数据类型
- 数据类型分为基本数据类型和引用数据类型
- 基本数据类型包括数值型,字符型(char)和布尔型(boolean)
数值型包括整数型和浮点型 - 整数型(byte(1个字节=8bit),short(2个字节),int(4个字节),long(8个字节))
- byte范围 -128–127
- bit 计算机中最小的存储单位。byte:计算机中基本的存储单元。
- 浮点类型(float,double)
- 引用数据类型包括类(class),接口(interface),数组([])
C、基本数据类型之间的运算规则:
前提:这里只讨论基本数据类型变量间的运算。不包含boolean类型 - 1、自动类型提升
-
当容量小的数据类型与容量大的数据类型做运算时,结果自动提升为容量大的数据类型
-
byte short int long float double
-
特别的:当byte,char,short三种类型做运算时,结果为int型。
- 2、强制类型转换
-
说明:此时的容量大小指的是表示数的范围的大和小。比如:float容量大于long的容量
public class QiangZhiZhuangHuan {
public static void main(String[] args) {
double d1 = 12.3;
int i1 = (int)d1;
System.out.println(i1);
//没有精度损失
long l1 =123;
short s2 = (short)l1;
System.out.println(s2);
//精度损失
int i2=128;
byte b = (byte)i2;
System.out.println(b);
}
}
public class ShuJuLeiXing {
public static void main(String[] args) {
byte b1=12;
byte b2 = -128;
System.out.println(b1);
System.out.println(b2);
//byte b3 =128; 编译不通过
//声明long型变量,必须以"l"或者"L"结尾
short s1=128;
int s2=1234;
long s3 =13123423445L;
//Java的浮点型常量默认为double,声明float型常量,须后加"f"或者“F”
/**
* 浮点型:float(4个字节),double(8个字节)
* 浮点型,表示带小数点的数值
* float表示数值的范围比long还大
*/
double d1=123.3;
System.out.println(d1+1);
float f1= 12.3F;
System.out.println(f1);
//字符型: char(1字符=2个字节)
/**
* 定义char型变量,通常使用一对''
* 表示方式1、声明一个字符2、转义字符 3、直接使用unicode值来表示字符常量
*/
char c1 ='a';
c1='A';
System.out.println(c1);
char c2='1';
char c3='中';
System.out.println(c2);
System.out.println(c3);
char c4='\n';
System.out.println("hello"+c4);
System.out.println("world");
char c5='\u0043';
System.out.println(c5);
//布尔类型Boolean
/**
* 只能取两个值之一:true、false
*/
boolean bb1=true;
System.out.println(bb1);
boolean isMarried = true;
if(isMarried){
System.out.println("你就不能参加单身party了!很遗憾!");
}else{
System.out.println("你可以参加了!");
}
}
}
public class ZhuanHuan {
public static void main(String[] args) {
byte b1=2;
int i1=129;
int i2 = b1 + i1;//byte的话编译不通过
long l1 = b1+i1;
System.out.println(i2);
float f = b1 + i1;
System.out.println(f);
short s1 = 123;
double d1 = s1;
System.out.println(d1);
System.out.println("*********************");
char c1 ='a';
int is =10;
int i4 = c1 + is;
System.out.println(i4);
short s2 = 10;
int i5 = c1 + s2;
System.out.println(i5);
byte b2 = 10;
int i6 =c1 +b2;
System.out.println(i6);
}
}