(二)Java常量与变量

Java常量与变量

主要内容:

  • 标识符
  • 关键字
  • 变量
  • 数据类型
  • 类型转换
  • 常量

一,标识符与关键字

1,标识符

类的名字就是标识符

标识符的命名规则:

  • 标识符只能由字母数字下划线和美元符($)组成,不能以数字开头
  • 标识符不能有空格
  • 标识符严格区分大小写
  • 标识符不能是Java关键字和保留字
  • 标识符的命名最好能反映其作用

2,关键字

3,保留字

goto, const等

二,变量的概念与数据类型

编程的学习主要是积累,就像学习英语一样,不断的积累单词和语法,才能达到熟练应用的目的

1,变量

变量的作用是把数据临时存储起来,提供之后的使用

变量三要素:变量类型,变量名与变量值

变量的命名规则:

  • 满足标识符命名规则
  • 符合驼峰法命名规则(如果变量的名字是一个单词,则单词小写如age;如果是多个单词,则首个单词的首个字母小写,其余单词首字母大写,如stuName)
  • 尽量简单,做到见名知意
  • 变量名长度没有限制

类的命名规则:

  • 满足Pascal命名规范(如果变量的名字是由一个字母组成,首字母大写;多个单词组成,所有单词首字母都要大写)

2,数据类型

整型的应用场景:

按照存储数据范围的不同可以分为四种,分别是byte,short,int,long,数据表示范围依次增大,选择数据类型的时候可以参考表示范围来选取,但实际应用中,int和long是常用数据类型,,其余较少。

byte主要对二进制数进行存储,在文件的输入和输出流部分将会使用,用于二进制数据的传输。

short类型在有的需求中会遇到,比如对于登陆账号的状态表示,一般用0表示正常,1表示冻结,2表示已删除。这里数值固定,值也比较小,可以用short表示。

浮点型的应用场景:

浮点类型表示小数,包括float和double俩种类型,后者使用较多。

应用场景主要是数据精度较高,并且数据量较大的情况,比如医学军事化工天文等。

需要注意的是浮点型因为其表示方法的原因,会产生精度丢失的问题,所以会结合BigDecimal类进行使用。

注:

  • *浮点数默认为 double 类型,float 在储存大型浮点数组时可以节省内存
  • char 类型时一个单一的16位 Unicode 字符;2个字节

         它的最小值是\u0000,最大值是\uffff(十进制的65535)

  • boolean(布尔型)1个字节

 

三,数据类型的字面值及变量定义

Java中有三种表示整数的方法:十进制,八进制,十六进制

eg.123, 023, 0x1357, 0X3c, 0x1abcL(L或l表示长long整型的十六进制)

进制表示:

八进制:以0开头,包括0-7的数字

十六进制:以0x0X开头,包括0-9数字,及字母a-f, A-F

1,整型浮点值

变量声明:

格式:数据类型 变量名;(注意中间一定要有空格)eg. int n, 声明整型变量n; long count; 声明长整型变量count

赋值:

使用"="运算符赋值,将运算符右边的值赋给左边的变量。

eg.  int n;

       n=3

也可以在定义变量的同时给变量赋值,即变量的初始化

eg.   int n=3;

变量定义:
int octal=037;  //定义int类型的变量存放八进制数据

long longNumber=0xa2cdf3ffL;   //十六进制长整型数据存放

short shortNumber=123;  //定义变量存放短整型数据

byte b=10;  //定义变量存放byte类型数据

2,浮点型字面值

浮点型字面值默认情况下表示double类型,也可以在值后加d或D。

字面值也叫常量,是常量的一种

eg.123.43D

如表示float类型,则一定要在字面值后加fF,否则会默认是double类型,将double类型的数值赋值给float类型的变量会报错。

即:把范围小的数赋值给范围大的变量会浪费存储空间;但是把范围大的数赋值给范围小的变量会报错。

3,基本数据类型变量的存储

  • 数据类型分为基本数据类型和引用数据类型
  • 引用数据类型包括数组和类等
  • 类定义的变量又叫对象

  • 数据类型按照作用范围分为:类级,对象实例级,方法级,块级
  • 方法级变量又叫局部变量
  • Java内存区域包括:栈,常量池和堆
  • 方法定义的局部变量存储在栈中
  • 大括号中定义的变量只在大括号中有效,不管{}是否有意义

4,字符型字面值

字符型字面值用单引号内的单个字符表示,比如:'a', '$', '我’(注意是单引号且一个字符)。用双引号引起来的是字符串字面值。

如何定义字符型变量?

char a='a';

char ch='65';

出现ch=A原因是ASCII码(American Standard Coad for Information Interchange, 美国标准信息交换代码)

因此整型和字符是可以相互转化的,char将整型换为ASCII码。

char的字面值数据范围不能超过65535,超过需要强制转换数据类型,但可能引起数据的丢失

char ch=65535;

char ch1=(char)65536;

ASCII

  • 基于拉丁字母的一套电脑编码系统
  • 主要用于显示现代英语和其他西欧语言(没有中文)
  • 使用7位或8位二进制数的组合来表示128或256种可能的字符

-7位二进制数组合是标准ASCII(表示大小写字母,标点符号,美式英语的控制字符等)

-8位二进制数组合(后128位)是扩展的ASCII,扩展了特殊符号,外来语言字母等

Unicode编码

又称为统一码、万国码,支持世界上所有的字符集

char c='\u005d'; //十六进制表示方式,Unicode表示法要在值前加前缀\u

5,布尔类型字面值

Java中,布尔值只能定义truefalse,没有01

boolean b=true;

6,字符串字面值

字符串不属于基本数据类型,是类!

与基本数据类型有相似的地方,比如定义方式

双引号引起来的零个或多个字符,任意字符

String s=""

空格也占一个字符

7,变量综合案例

  • int x=0,y=1;
  • int x, y;

x=3;y=5;(注意中间是分号,不能是逗号,且这一行是俩个语句)

  • 注意println(+a)里边的+就是加号,可以添加很多加号!!!
  • System.out.print();    //语句是不换行的输出,即下一行输出不换行
  • System.out.println(); //语句本身可以表示换行
  • 换行亦可以使用System.out.print(x+" "+y+'\n');的形式,单引号引起来的一定是字符,\n就表示转义字符。

  • System.out.print(x+"\t"+y+'\n');作用就是横向跳格,但是System.out.print(x+'\t'+y+'\n');单引号的话输出就变成了数字,把字符型换成整型,如果要使用单引号,可以System.out.print(""+x+'\t'+y+'\n')告诉'\t'是个字符串
  • Java可以将字符或变量名定义为汉字并输出char 中文='中';
  • 用科学计数法表示浮点型数据:double d=1.23E5; (eE)
  • double d1=.2; 表示0.2

四,类型转换

类型转换分为自动类型转换和强制类型转换(会引起数据精度丢失)

-自动类型转换 double a=32.32f;

-强制类型转换 char ch=(char)65536; //超过了范围65535

1,自动类型转换:

又叫隐式类型转换

转换顺序是:数据范围小的可以转换为数据范围大的,布尔类型不参与转换,比较特殊

2,强制类型转换:

把范围大的数据类型转换为范围小的数据类型

强制类型转换格式:(数据类型)数值   float f=(float)d;

3,一个栗子:
 

public class try1 {

 public static void main(String[] args) {

 // 将一个整型字面值67832赋值给char类型变量c

 //并将c的值输出

 int a=67832;

 char c=(char)a;

 System.out.println("c="+c);

 //定义一个整型变量n,值为65

 int n=65;

 char c1=(char)n;

 System.out.println("c1="+c1);

 //定义一个字符型变量c1,赋值为n,并输出c1的值

 

//定义一个长整型变量l,值为987654321

 long L=987654321;

 //定义一个整型变量i,赋值为l,并输出i的值

 int i=(int)L;

 System.out.println("i="+i);

 //定义一个float类型变量f,将变量l的值赋值给f,并输出f的值

 float f=(float)L;

 System.out.println("f="+f);

 //将float的值f,重新赋值给变量l,并输出l的值

 L=(long)f;

 System.out.println("L="+L);

 

}

 

输出:

c=ࣸ

c1=A

i=987654321

f=9.8765434E8

L=987654336

五,常量

final int N=5; //在变量的定义之前加一个final,这样的话N就不能再改变了。

常量的命名一般用大写字母表示

好处是只需要修改final的值就可以

字面值也叫常量

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值