public class StringDemo {
public static void main(String args[]) {
String string1 = "百度网址:";
System.out.println("1、" + string1 + "www.baidu.com");
}
}
编程的本质就是对内存中数据的访问和修改。程序所用的数据都会保存在内存中,我们需要一种机制来访问和修改内存中的数据,这种机制就是变量!
Java 语言是一种强类型语言:
1、所有的变量必须先声明后使用;
2、指定类型的变量只能接受与之匹配的值。
Java 数据类型
数据类型的转换
规则
- 不能对boolean类型进行类型转换。
- 不能把对象类型转换成不相关类的对象。
- 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
- 转换过程中可能导致溢出或损失精度,例如:int i =128;byte b = (byte)i;因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。
- 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
自动类型转换
public class ZiDongLeiZhuan{
public static void main(String[] args){
char c1='a';//定义一个char类型
int i1 = c1;//char自动类型转换为int
System.out.println("char自动类型转换为int后的值等于"+i1);
char c2 = 'A';//定义一个char类型
int i2 = c2+1;//char 类型和 int 类型计算
System.out.println("char类型和int计算后的值等于"+i2);
}
}
//char自动类型转换为int后的值等于97
//char类型和int计算后的值等于66
强类型转换
//格式:(type)value
//type是要强制类型转换后的数据类型
float a = 5.6;//这一条我们看上去很正常的代码其实是错的,因为 5.6 默认是 double 类型
float a = (float) 5.6 ;//这才正确
这就牵扯到直接量的问题
直接量的类型:基本类型、字符串类型、null 类型
- int 类型:直接给出的整型数值,可分为十进制、二进制(0b 或 0B 开头)、八进制(以 0 开头)、十六进制(以 0x 或 0X 开头,10到15分别以a~f 表示不区分大小写);
- long 类型:整数值后增加一个1或者 L ,如 143L;
- float 类型:浮点数后面添加 f 或 F ,如 3.14E5F;
- double 类型:标准的小数形式或者科学计数法形式的浮点数,如 3.14E5;
- boolean 类型:只有 true 和 false 两种;
- char 类型:单引号括起来的字符、转义字符、Unicode 值表示的字符,如 ‘a’ 、’\n’、’\u8888’;
- String 类型:双引号括起来的字符序列;
- null 类型:只有一个值 null,可以赋给任意引用类型的变量,用以表示这个引用类型变量中保存的地址为空,即还未指向任何有效对象。
直接量的规则
- String 类型的直接量不能赋给其他类型的变量,当程序第一次使用某个字符直接量是,Java 会使用常量池来缓存改字符串直接量,如果程序后面的部分需要用到改字符串的直接量时,Java 会直接使用常量池中的字符串直接量;
常量池指的是再编译期被确定,并被保存在已编译的 .class 文件中的一些数据。它包括关于类、方法、接口中的常量,也包括字符串直接量
- null 类型的直接量可以直接赋给任何引用类型的变量,包括 String 类型;
- boolean 类型的直接量只能赋给 boolean 类型的变量,不能赋给其他任何类型的变量。