Java笔记之变量(二)

学习内容

  • 一、变量的声明
  • 二、数据类型
  • 三、数据类型的转换
  • 四、Java的API文档的使用

一、变量的声明

1.声明变量
类型名 变量名;

int a;

2.赋值
变量名 = 值;

a = 10;
//也可以一步到位
int a = 10;

3.变量使用注意事项

  1. 变量表示内存中的一个存储区域[不同的变量,类型不同,占用的空间大小不同] 如:int 占4个字节,double占8个字节
  2. 变量必须先声明,后使用
  3. 该区域的数据值可以再同一类型范围不断变化
  4. 变量再同一个作用域内不能重名
  5. 变量由数据类型+变量名+值三部分组成
public class test{
	public static void main(String[] args) {
		//变量必须先声明,后使用 
		int a = 50;
		int System.out.println(a);   //50 
		//该区域的数据/值可以在同一类型范围内不断变化
		a = 100;
		int System.out.println(a);   //100 

		//变量在同一个作用域内不能重名 
		//int a = 200;   //错误
	}
}

public class test1{
	//因为变量a不在同一个作用域内,所以正确
	int a =200; 
}

4.程序中+号的使用

  1. 当加号的左右两边都是数值时,则做加法运算
  2. 当左右两边有一边为字符串时,则做字符串的拼接运算
  3. 运算顺序是从左到右
public class test{
	public static void main(String[] args) {
		System.out.println(1+2);  	//输出为3
		System.out.println("1"+2);  //输出为12
		System.out.println(1+"2");	//输出也为12
		System.out.println("1"+"2");//输出同样为12
	}
}

二、数据类型

1.数据类型的概念(重点需要记住)

  • Java的数据类型分为两大类分别为:基本数据类型引用数据类型
  • 基本数据类型八种:byte,short,int,long,float,double,char,boolean
  • 引用数据类型三种:类 ,接口,数组
基本数据类型 占用字节数
byte 1byte
short 2byte
int 4byte
long 8byte
float 2byte
double 4byte
char 8byte
boolean 1byte

2.整数类型
Java的整型常量默认为int型,默认为4个字节
如果声明long型常量需要在值后面加L

int x = 1; 		//正确,且占用4个字节
int y = 1L;		//错误
long z = 1L;	//正确,且占用8个字节

3.浮点数类型
Java的浮点型常量默认为double型,默认4个字节
如果声明float型变量需要在值后面加f或F
注意:通常情况下,浮点数应使用double型因为它比float型更精确

float x1 = 1.1;		//错误
float x2 = 1.1L;	//正确
double x3 = 1.1;	//正确
double x3 = 1.1L;	//正确

4.布尔类型
布尔类型也叫boolean类型,boolean类型只允许取值true和false,无null,占1个字节
boolean类型适于逻辑运算,一般用于程序流程控制 如:if、while、for等语句

boolean a = true;
if(a == true) { 
	System.out.println("a=true"); 
} else { 
	System.out.println("a=float"); 
}

5.字符类型
字符类型可以表示单个字符,字符类型是 char,char 是两个字节(可以存放汉字),多个字符我们用字符串 String
使用的细节:

  • 字符常量是用单引号括起来的单个字符
  • Java中,char本质是一个整数,在输出时是Unicode码对应的字符。
  • 可以直接给char赋一个整数,然后输出时,会按照对应Unicode码字符输出 如:97 对应 a
  • char类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码。
    注意:这里的Unicode码是兼容ASCII码
char x = 'a';
System.out.println(x);		//a
System.out.println((int)x);	//97
System.out.println(x+1);	//98
char y = 'b'+1;
System.out.println(y);		//c
System.out.println((int)y);	//99

6.字符类型
字符类型为String,经常会用到基本数据类型转换成String类型,或者是String类型转换为基本数据类型
使用细节:

  • 将 String 类型转成基本数据类型时,需要注意String 能转换成基本数据类型 如:不能把"abc"转换成一个整型
//基本数据类型->String
int x1 = 100; 
float x2 = 1.1F; 
double x3 = 4.5; 
boolean x4 = true; 
String y1 = x1 + ""; 
String y2 = x2 + ""; 
String y3 = x3 + ""; 
String y4 = x4 + ""; 

//String->对应的基本数据类型
//使用基本数据类型对应的包装类的方法,得到基本数据类型 
String a = "10";
int num1 = Integer.parseInt(a); 			//10
double num2 = Double.parseDouble(a); 		//10.0
float num3 = Float.parseFloat(a); 			//10.0
long num4 = Long.parseLong(a);				//10
byte num5 = Byte.parseByte(a); 				//10
boolean b = Boolean.parseBoolean("true"); 	//10
short num6 = Short.parseShort(a);			//10

三、数据类型的转换

1.自动类型转换
自动类型转换:当Java进行赋值或运算时,精度小的类型自动转换为精度大的类型
精度到精度的自动转换:

char->int->long->float->double
byte->short->int->long->float->double

int a = 'c';	//值为99
double b = a; 	//值为99.0

注意事项:

  1. 有多种类型的数据混合运算时,系统首先自动将所有数据转换成最大精度的数据类型,然后再进行计算。
  2. 精度大的数据类型不能赋值给精度小的数据类型
  3. byte和short与char相互之间不会自动转换,但是可以计算,只不过会先转换为int类型
  4. boolean不参与转换
  5. 自动提升原则:表达式结果类型自动提升为操作数中最大的类型
//注意事项1
int a = 1;
float d1 = a + 1.1;		//错误,因为结果为double类型
double d2 = a + 1.1;	//正确
float d3 = a + 1.1F;	//正确

//注意事项2
int b = 1.1;	//错误,因为double型精度比int型精度高

//注意事项3
//当把具体数值赋给byte时,(1)先判断该数是否在byte范围内,如果在就可以赋值
byte c = 1;		//正确,因为byte范围在 -128-127
int c1 = 1;
byte c2 = c1;	//错误,首先是变量赋值,需要判断类型,其次c1是int类型占4个字节,而byte占1个字节
char c3 = c;	//错误,因为byte和char不能自动转换

//注意事项4
byte d = 1;
short d1 = 1;
short d2 = d + d1;	//错误,因为d+d1为int型
int d3 = d + d1;	//正确

//注意事项5
boolean e = true;
int e1 = true;		//错误,boolean型不参与自动转换

//注意事项6
byte f = 1;
short f1 = 2;
int f2 = 3;
float f3 = 4.0f;

int f4 = f + f1 + f2 + f3;		//错误
float f5 = f + f1 + f2 + f3;	//正确

2.强制类型转换
自动类型转换的逆过程,将精度大的数据类型转换为精度小的数据类型。使用时要加上强制转换符 ( )
注意:可能造成精度降低或溢出。

int a = (int)2.8;	//2
int b = 1000;
byte c = (byte)b;
System.out.println(c);	//-24 溢出了

注意事项:

  1. 当进行数据的精度从大到小转换时,需要使用到强制转换
  2. 转换符号只符合就近原则,或者使用小括号去改变优先级
  3. char类型可以保存int的常量值,但不能保存int的变量值,需要强转
  4. byte和short,char类型在进行运算时,当做int类型处理
//注意事项2
int a = (int)1.5*2+1.5*4;	//错误   
int b = (int)(1.5*2+1.5*4);	//正确

//注意事项3
char c = 100; 				
int d = 100; 				
char e = d; 				//错误 
char f = (char)d; 			//正确 
System.out.println(f);		//100 d字符

四、Java的API文档的使用

API是Java提供的基本编程接口,Java语言提供了大量的基础类,因此Oracle公司也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类包含的方法。中文在线文档地址为:https://www.matools.com
下图是Java的类、接口之间的关系,有助于API文档的使用
Java笔记之变量(二)_第1张图片

你可能感兴趣的