1.标识符
标识符由字母数字下划线组成
标识符的第一个不能是数字
标识符不能是关键字,false true,null
而且标识符区分大写Hello和helo不同
2.关键字
后面会慢慢用到,暂时不记录。
3.基本数据类型
{逻辑类型,整数类型,字符类型,浮点类型}
。1逻辑类型
(常量:TRUE FALSE
变量:用boolen标识逻辑类型 而且可以给初始变量赋初值例如
boolen male=true,on=true;
。2整数类型
(常量:123,6000等
变量:int:用int标识整数类型int的数据被分配了4个字节,故取值范围为—2^31~2^31-1
变量:byte:int类型的数据可以赋值给BYTE类型,例如byte a=23;一个字节占八位,故取值为-2^7~-2^7-1
变量:short:short类型的数据可以用short关键字标识;占2个字节,16位;
变量:long:long类型的数据可以用long关键字标识;占8个字节,64位;
。3字符类型
变量:用char来标识字符类型,例如
char a='A',而且根据Uni表可以用数字来代表字母符号例如:char x=97;就表示x是字符'a'
例子:
char china='好',jap='3';
char you='\u4F60';
int position=20320;
System.out.println("汉文:"+china+"的位置:"+(int)china);
System.out.println("日文:"+jap+"的位置"+(int)jap);
System.out.println(position+"位置上的字符是"+(char)position);//此时position是20320
position=21319;
System.out.println(position+"位置上的字符是"+(char)position);//此时position是21319
System.out.println("you"+you);
结果显示
汉文:好的位置:22909
日文:3的位置51
20320位置上的字符是你
21319位置上的字符是升
you你
。4浮点类型
》1浮点类型用float关键字标识,例:
float a=22.67f
当吧常量赋值给float类型时,只取8位有效数字。
float类型占用4个字节,占32位。
》2double类型
形如其名他是双浮点类型,他在存储时候要保留16位有效数字。
用double关键字来标识double类型变量。
他占用8个字节,占64位。
4.数据类型转换
首先应该按照精度排列,因为占用内存的不同转换时不能逆精度转换。
排列表如下:
byte<short<char<int<long<float<double
低级到高级,系统会自动转换,直观可以以说是杯子往池子里倒水
例子:
float a=100;
输出a的值将是100.0
例子:
int b=50;
float c;
c=b;
输出c,得到50.0;
而高级向低级变换时,需要加上转换符号;就是说池子往被子里倒水
即:(类型名)要转换的值;
例子:
byte x=(byte)128;
byte x=(byte)(-129);
输出结果是:-128,127
因为溢出导致精度缺失。
所以转换类型时不能超过将要转换成的数据的取值范围。
double类型转换成float形时有两种转换方式,
》1.float a=12.02F
》2.float a=(float)12.4
例子
public class 例子2 {
public static void main(String[] args) {
byte b=22;
int n=129;
float f=123456.6789f;
double d=123456789.123456789;
System.out.println("b="+b);
System.out.println("n="+n);
System.out.println("f="+f);
System.out.println("d="+d);
b=(byte)n;//精度丢失测试
f=(float)d;//精度丢失
System.out.println("b="+b);
System.out.println("f="+f);
}
结果如下:
b=22
n=129
f=123456.68
d=1.2345678912345679E8
b=-127
f=1.23456792E8
赋值后失去了原来精度
5.输入,输出数据
》1基本输入类型
scanner顾名思义扫描器。
用扫描器创建一个对象:
Scanner reader=new Scanner (System.in);
System.in标准输入流——键盘输入
然后reader对象可以调用,nextBoolen();nextByte();…等方法,输入一系列数据。
注意每执行一次上述方法,就会阻塞,等待下一次输入。
例子:
import java.util.Scanner;
public class 例子3 {
public static void main(String[] args) {
System.out.println("请输入若干数字");
System.out.println("最后以0结尾");
Scanner reader=new Scanner(System.in);
double sum=0;
double x=reader.nextDouble();
while (x!=0){
sum=sum+x;
x= reader.nextDouble();//将输入方法嵌套在这里可以多次输入
}
System.out.println("sum="+sum);
}
}
结果如下:
请输入若干数字
最后以0结尾
213
213
345
0
sum=771.0
》2基本输出类型
控制输出数据类型:
System.out.println("格式控制符",表达式);
%d——输出int类型
%c——输出char类型
%f——输出浮点型
%s——输出字符型数据
%md——输出占m列的int类型数据
%m,nf——输出占用m列的浮点型数据,小数点占用n列