基本类型
1.变量
命名规则:
1).由数字、_、&、英文字母所组成
2).开头不能为数字
3).尽量不使用中文(虽然可以用)
4).驼峰命名法:score,myScore,myJavaScore
5).不能使用java关键字,比如class等等
6).帕斯卡命名法
:ScoreJavaJame
2.基本类型
八种基本类型:
整型:int,long,short,byte
布尔:boolean
浮点型:double,float
字符型:char
引用类型:数组,类,接口
3.内存
1G=1024M(兆)
1M=1024KB(千字节)
1KB=1024B(字节)
1B=8Bit(位)
常见的
byte 1B
short 2B
int 4B
long 8B
float 4B
double 8B
char 2B
Boolean 1B
4.溢出问题
int:整型 4个字节 -21多亿到21多亿
/*溢出*/
//运算时超范围,不报错
int yc=2147483647;
int yc2=-2147483648;
yc=yc+1;
yc2=yc2-1;
System.out.println(yc);
System.out.println(yc2);
//显示结果:
//-2147483648
//2147483647
//直接量超范围,编译报错
//int a=100000000000000000000;
精确运算场合不适合double和float
double:舍入误差
double a=3.0;
double b=2.9;
System.out.println(a-b);
//结果:0.10000000000....9无限接近0.1
char:字符型 码---0到65535
java字符类型采用Unicode字符集编码
字符串实质上就是码int
ASCII码:
'a':97
'A':65
'0':48
比如:
char c1=65;
char c2='A';
char c3='u0041';
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
System.out.println('2'+'2');
输出结果: A A A 100
分析:'0'---48 '1'---49 '2'---50
转义字符:
'\'反斜杠()
'
'回车
'
'换行符
'"单引号(')
'"'双引号(")
5.基本类型转换
(字节数大小)
byte short char int long float double
1 2 2 4 8 4 8
从小到大的转换(自动型转换)
从大到小的转换(强制类型转换)
强制类型转换有可能溢出,精确度缺失
规则:
1.整数直接量可以直接赋值给byte,short,char,但是不能超过范围
2.byte,short,char变量参与运算时,先一律转为int再运算。
6.Scanner的用法
(控制台输入)
1)在package下面
import java.util.Scanner;
2)在main方法中
Scanner scan= new Scanner(System.in);
3)在第二步之下
int age=scan.nextInt();
double age=scan.nextDouble();
给变量赋值的三种方式:
1.赋值给一个固定的值
int a;
2.接收用户输入的一个值
3.系统随机生成一个值
package day2; import java.util.Scanner; public class value { public static void main(String[] args) { // TODO Auto-generated method stub int a; int b,c,d; int e=250; int f; f=250; //int g=3.14;//编译错误,类型不匹配, int h=10; int i=h+100; h+=100; //System.out.println(i); //System.out.println(h); //int m; //System.out.print(m);未初始化,编译错误 /*溢出*/ //运算时超范围,不报错 int yc=2147483647; int yc2=-2147483648; yc=yc+1; yc2=yc2-1; System.out.println(yc); System.out.println(yc2); //显示结果 //-2147483648 //2147483647 //直接量超范围,编译报错 //int a=100000000000000000000; char c1=65; char c2='A'; char c3='u0041'; char c4='\'; System.out.println(c1); System.out.println(c2); System.out.println(c3); System.out.println(c4); System.out.println('2'+'2'); byte b1=5; byte b2=5; byte b3=(byte) ((byte) (b1)+b2); System.out.println(); Scanner scan=new Scanner(System.in); System.out.println("请输入:"); int age=scan.nextInt(); Scanner scan1=new Scanner(System.in); System.out.println("请输入:"); int age1=scan1.nextInt(); } }