java变量、八种基本数据类型、类型间的转换

变量、八种基本数据类型、类型间的转换

1,变量:存数的

  1,声明:---相当开个账户

int a; //声明一个整型的变量,名为a
int b,c,d; //声明三个整型的变量,名为b,c,d
//int a; //编译错误,变量不能同名

  2,初始化:--相当于存钱

int e = 250; //声明整型变量e并赋值为250----开户的同时存钱
int f; //声明整型变量f----------先开户
f = 250; //给变量f赋值为250-------后存钱
f = 360; //修改变量f的值为360
int g=5,h=8,i=10; //声明三个整型变量g,h,i,并分别赋值为5,8,10

  3,使用:--使用的是账户中的钱

     1,对变量的使用就是对它所存的那个数的使用

int j = 5; //声明整型变量j并赋值为5
int k = j+10; //取出j的值5,加10后,再赋值给变量k
//输出语句中,若不加双引号,则java认为它就是一个变量
System.out.println(k); //输出变量k的值15
System.out.println("k"); //输出k,双引号中的原样输出
j = j+10; //在j本身基础之上增10
System.out.println(j); //15
int balance = 5000; //帐户余额
balance = balance+1000; //存款1000
System.out.println(balance); //6000

     2,变量的用之前必须声明并初始化

//System.out.println(m); //编译错误,变量m未声明
int m;
//System.out.println(m); //编译错误,变量m未初始化

  4,命名:---相当于给账户起名

    1,只能包含字母、数字、_和$符,不能以数字开头
    2,严格区分大小写
    3,不能使用关键字
              4,允许中文命名,但不建议,建议"英文的见名知意"、"小驼峰命名法"
int a1,a_5$,_3c,$5;
//int a*b; //编译错误,不能包含*号等特殊符号
//int 1a; //编译错误,不能以数字开头
int aa = 5;
//System.out.println(aA); //编译错误,严格区分大小写
//int class; //编译错误,不能使用关键字
int 年龄; //正确,但不建议
int nianLing; //必须杜绝
int age; //建议"英文的见名知意"
int score,myScore,myJavaScore; //建议"小驼峰命名法"
2. 八种基本数据类型:byte、short、int、long、float、double、boolean、char
  1,int:整型,4个字节,-21个多亿到21个多亿
    1,整数直接量默认为int类型,但不能超出范围,若超出范围则发生编译错误
int a = 25; //25为整数直接量,默认为int类型
//int b = 10000000000; //编译错误,100亿默认为int类型,但超出范围了
//int c = 3.14; //编译错误,整型变量中只能装整数
    2,两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入)
System.out.println(5/2); //2
System.out.println(2/5); //0
System.out.println(5/2.0); //2.5
    3,运算时若超出范围,则发生溢出,溢出不是错误,但是需要避免
int d = 2147483647; //int的最大值
d = d + 1;
System.out.println(d); //-2147483648(int的最小值),发生了溢出,需要避免
  2,long:长整数,8个字节,-900万万亿多到900万万亿多
    1,若像表示长整型直接量,需在数字后面加L或者l
long a = 25L; //25L为长整型直接量
//long b = 10000000000; //编译错误,100亿默认int类型,但超出int范围了
long c = 10000000000L; //100亿L为长整型直接量
//long d = 3.14; //编译错误,长整型变量中只能装整数
    2,运算时若有可能溢出,建议在第一个数字后加L
//运算时若有可能溢出,建议在第一个数字后加L
long e = 1000000000*2*10L;
System.out.println(e);//200亿
long f = 1000000000*3*10L;
System.out.println(f);//不是300亿
long g = 1000000000L*3*10;
System.out.println(g)//300亿
  3,double:浮点型,8个字节,很大很大
    1,小数直接量默认为double型,若想表示float,需在数字后加F或f
double a = 3.14;//3.14为小数直接量,默认为double型
float b = 3.14F;//3.14F为float型直接量
    2,不能表示精确数据,运算时有可能发生舍人误差,精确场合不能使用
double c = 3.0,d=2.9;
System.out.println(c-d);//0.10000000000000009有可能发生舍人误差
  4,Boolean:布尔型,一个字节
    1,只能存储true或false
boolean a = true;//true为布尔型直接量
boolean b = false;//false为布尔型直接量
//boolean c = 250; //编译错误,布尔型只能存储true或false
  5,char:字符型,2个字节
    1,采用的是Unicode编码格式,一个字符对应一个码,表示的形式是字符char,但本质上是码int(0-65535之间)(ASCII:'a'--97,'A'---65,'0'---48)
    2,字符型直接量必须放在单引号中,有且仅有1个
char c1 = '女'; //字符女
char c2 = 'f'; //字符f
char c3 = '6'; //字符6
char c4 = ' '; //空格符
//char c5 = 女; //编译错误,字符型直接量必须放在单引号中
//char c6 = ''; //编译错误,必须有字符
//char c7 = '10'; //编译错误,只能存储1个字符
char c8 = 65; //0到65535之间
System.out.println(c8); //println()会依据变量的类型做输出展示
//c8为char型,所以会以字符的形式输出
char c9 = '\\';
System.out.println(c9); //\
    3,特殊符号需要通过\来转义
char c9 = '\\';
System.out.println(c9); //\
3,类型间的转换:
  1,基本数据类型从小到大一次为:
    1,byte---short---int---long---float---double
      char---int
  2,两种方式
    1,自动/隐式类型转换:小类型到大类型
    2,强制类型转换:大类型到小类型
      1,语法:(要转换成为的数据类型)变量
      2,注意:强制有可能会发生溢出或丢失精度
int a = 5;
long b = a; //自动类型转换
int c = (int)b; //强制类型转换
long d = 5; //自动类型转换
double e = 5; //自动类型转换
long f = 10000000000L;
int g = (int)f;
System.out.println(g); //1410065408,强转有可能发生溢出
double h = 25.987;
int i = (int)h;
System.out.println(i); //25,强转有可能丢失精度
  3,两点规则:
    1,整数直接量可以直接赋值给byte,short,char,但是不能超出范围
    2,byte,short,char型数据参与运算时,系统会将自动转换为int类型再运算
byte b1 = 5;
byte b2 = 6;
byte b3 = (byte)(b1+b2);
System.out.println(2+2); //4
System.out.println(2+'2'); //52,2加上'2'的码50
System.out.println('2'+'2'); //100,'2'的码50,加上'2'的码50
System.out.println('2'); //2,因为没有运算,所以输出的是字符2
int a = 'a';
System.out.println(a); //查看字符对应的码
char c = 97;
System.out.println(c); //查看码对应的字符

添加:

1,命名法;

  1,小驼峰命名法:第一个单词首字母小写,其余单词首字母大写------变量/方法

score,myScore,myjavaScore

  2,帕斯卡命名法/大驼峰命名发:所有单词首字母大写--------类

Score,MyScore,MyJavaScore

2,Unicode:万国码,统一码,通用码,是世界级通用的定长(16位)字符集

posted @ 2023-04-26 00:00  进一步海阔天空  阅读(46)  评论(0编辑  收藏  举报