IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 02-数据类型和运算符 -> 正文阅读

[Java知识库]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(常见的表达式,两个或多个数进行计算)

运算符

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

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-07-27 16:04:44  更:2021-07-27 16:05:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/3 14:54:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码