02-数据类型和运算符

标识符和关键字

标识符

Java对各种变量、方法、类和包等要素命名的名称为标识符。

标识符的命名规则

  • 标识符的命名可以由字母、数字、下划线 _  、美元符号 $ 组成,但是不能以数字开头
  • 标识符的命名严格区分大小写
  • 标识符不能以Java的关键字和保留字命名
  • 标识符的命名最好可以反映其作用,例如:name(姓名)、stuAge(学生年龄)

关键字

关键字是用来表示一种数据类型或者表示程序的结构,不能用作变量名、方法名、类名、包名。

关键字非常多,需要通过学习的进度,慢慢去掌握。

变量和常量

变量

 变量的三要素:变量类型、变量名、变量值

例如:我们去外地旅游需要住酒店,酒店有不同的房间,每个房间有不同的房间号

 变量的命名规则

①满足标识符的命名规则

②符合驼峰命名规则(一个单词可以使用小写表示,多个单词首字母大写)

例如:年龄 age        学生姓名 stuName

 ③尽量简单,做到见名知意

 ④变量名的长度没有限制

常量

  • 在Java语言中,利用final关键字来定义常量,其本质就是值不可再更改的变量。
  • 常量在声明的时候,要么直接赋值,要么通过构造方法赋值
  • 常量在程序中将无法再次赋值,如果强行赋值,程序将会抛出错误信息,并拒绝接收新值
  • 常量命名时,名称建议全大写

例如: final double PI = 3.14159;

数据类型和字面值

数据类型

数据类型分为基本数据类型和引用数据类型。

基本数据类型的表示范围

 基本数据类型的表示范围如下:(转自慕课网

 字面值

(1)整型字面值——>Java中表示整数的方法:二进制、八进制、十进制、十六进制

二进制:以0和1组成        3表示为011        8表示为1000

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

十六进制:以0x开头或0X开头,包括0——9的数字,及字母a——f,A——F

 (2)浮点型字面值

  •  浮点型字面值默认情况下是double类型(双精度浮点型字面值),也可以在值后面加d或D
  • 如:123.45、123.45d、123.45D
  • 如果表示float类型(单精度浮点型字面值),则需要在字面值后面加f或F
  • 如:23.4f、23.4F

(3)字符型字面值

  • 字符型字面值用单引号内的单个字符表示
  • 如:‘a’、‘b’、‘$’

如何定义字符型变量?

 char a = 'a';        //输出结果为:a=a

char b = 65        //输出结果为:b=A

 字符型变量为什么可以赋值整数呢?

 整数代表的是ASCII码(美国标准信息交换码),而65在ASCII码中表示为‘A’

拓展:Unicode编码

char c = '\u005d';        //005d表示16进制

Unicode表示法,在前面加前缀\u

 (4)布尔类型字面值

布尔类型只能定义为truefalse

例如:        boolean flag = true;

(5)字符串字面值

  • 双引号引起来的0个或多个字符
  • 0字符称为空字符串

变量综合案例

//变量综合案例
public class VarDemo {
    public static void main(String [] args){
        //定义两个整型变量
        int a,b;
        //直接将变量输出会报错:The local variable a may not have been initialized
        //注意:变量在声明的时候如果没有进行赋值是不可以直接输出的
        //System.out.println("a="+a+",b="+b);
        a = 3;
        b = 5;//对两个变量进行赋值(变量的初始化)
        System.out.println("a="+a);
        System.out.println("b="+b);

        //关于换行的问题
        //如果不想换行,想在同一行输出,可以不加ln
        System.out.print("a="+a);
        System.out.print("b="+b);

        //换行也可以使用换行符来完成换行 换行符 \n
        System.out.print("a="+a+"\n"+"b="+b);

        //定义一个汉字的字符
        char ch = '中';
        System.out.println("ch="+ch);
        //char 中文 = '中';变量名也可以是中文但是不建议使用该方式

        //定义浮点型数据
        double d1 = 123;//浮点型可以赋值整数
        //double类型的变量值可以加d或D,也可以不加
        double d2 = 123.45;
        double d3 = 123.45d;
        double d4 = 123.45D;
        //float f = 123.45;float类型的变量值如果是小数后必须加f或F,因为小数默认情况下是double类型
        float f1 = 123;
        float f2 = 123.45f;
        float f3 = 123.45F;

        //科学计数法表示浮点型数据
        double num1 = 1.23e5;//表示1.23*10^5 , 可以使用e或E表示
        double num2 = .2;//表示0.2
        double num3 = 1.23e-5;//表示1.23*10^-5
    }
}

数据类型转换

数据类型转换分为自动类型转换强制类型转换

自动类型转换

自动类型转换又称为隐式类型转换。

转换顺序:

强制类型转换 

如果A类型的数据表示范围比B类型数据表示范围大,则将A类型的值赋值给B类型,需要进行强制类型转换。

如:

double   d = 123.4;

float     f = (float)d; 

强制类型转换的格式:(数据类型)数值

类型转换案例

//类型转换案例
public class TypeExchange {
    public static void main(String [] args){
        //char类型和int类型之间的转换
        //char ch = 65536;char类型的范围是0——65535,如果将65536赋值给ch会超出范围,需要进行强制类型转换
        char ch = (char)65536;

        //该类型转换方式为自动类型转换(隐式类型转换)
        int n = ch;//int类型的数据表示范围比char类型的数据表示范围大,可以直接将ch赋值给n
        
        //整型和浮点型之间的转换
        int x = 100;
        long y  = x;//int类型的表示范围小于long类型,可以直接将x赋值给y
        x =(int)y;//long类型的表示范围大于int类型,赋值需要进行强制类型转换

        float f = 1000000000L;//long类型表示范围小于float类型,可以直接将long类型的数据赋值给f
        System.out.println("f="+f);//结果为1.0E9
        float f2 = 115616684646163L;
        System.out.println("f2="+f2);//结果为1.15616686E14
        //原数据发生了精度丢失,数据类型转换数据图上可以知道,虚线表示类型转换时可能会发生精度丢失情况。
        
    }
}

运算符 

表达式

表达式由运算符和操作数组成。

表达式有什么表示形式?

①        5(一个常量,不管是整数还是浮点数,都为一个表达式)

②        num(单独一个变量也是一个表达式)

③        num1+num2(常见的表达式,两个或多个数进行计算)

运算符

  • 算术运算符:+、-、*、/、%、++、--
  • 关系运算符:>、<、>=、<=、==、!=
  • 赋值运算符:=、+=、-=、*=、/=
  • 逻辑运算符:!、&&、||
  • 位运算符:~、&、|、^、>>、<<、>>>(无符号右移) 

  • 22
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值