java基础语法(二)

2023-11-09

3. java基础语法

3.1 注释(理解)

注释是对代码的解释和说明文字,可以提高程序的可读性,因此在程序中添加必要的注释文字十分重要。Java中的注释分为三种:

单行注释。单行注释的格式是使用//,从//开始至本行结尾的文字将作为注释文字。

// 这是单行注释文字

多行注释。多行注释的格式是使用/* 和 */将一段较长的注释括起来。

/*
这是多行注释文字
这是多行注释文字
这是多行注释文字
*/
注意:多行注释不能嵌套使用。

文档注释。文档注释以/**开始,以*/结束。(以后讲)

3.2 关键字(理解)

关键字是指被java语言赋予了特殊含义的单词。

关键字的特点:

​ 关键字的字母全部小写。

​ 常用的代码编辑器对关键字都有高亮显示,比如现在我们能看到的public、class、static等。

3.3 常量(应用)

常量:在程序运行过程中,其值不可以发生改变的量。

Java中的常量分类:

​ 字符串常量 用双引号括起来的多个字符(可以包含0个、一个或多个),例如"a"、“abc”、"中国"等

​ 整数常量 整数,例如:-10、0、88等

​ 小数常量 小数,例如:-5.5、1.0、88.88等

​ 字符常量 用单引号括起来的一个字符,例如:‘a’、‘5’、‘B’、'中’等

​ 布尔常量 布尔值,表示真假,只有两个值true和false

​ 空常量 一个特殊的值,空值,值为null

除空常量外,其他常量均可使用输出语句直接输出。

public class Demo {
    public static void main(String[] args) {
        System.out.println(10); // 输出一个整数
        System.out.println(5.5); // 输出一个小数
        System.out.println('a'); // 输出一个字符
        System.out.println(true); // 输出boolean值true
        System.out.println("欢迎来到黑马程序员"); // 输出字符串
    }
}
3.4 数据类型(记忆、应用)
3.4.1 计算机存储单元

我们知道计算机是可以用来存储数据的,但是无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母”b”表示。而计算机中最基本的存储单元叫“字节(byte)”,

通常用大写字母”B”表示,字节是由连续的8个位组成。

除了字节外还有一些常用的存储单位,其换算单位如下:

1B(字节) = 8bit

1KB = 1024B

1MB = 1024KB

1GB = 1024MB

1TB = 1024GB

3.4.2 Java中的数据类型

Java是一个强类型语言,Java中的数据必须明确数据类型。在Java中的数据类型包括基本数据类型和引用数据类型两种。

Java中的基本数据类型:

数据类型 关键字 内存占用 取值范围
整数 byte 1 负的2的7次方 ~ 2的7次方-1(-128~127)
short 2 负的2的15次方 ~ 2的15次方-1(-32768~32767)
int 4 负的2的31次方 ~ 2的31次方-1
long 8 负的2的63次方 ~ 2的63次方-1
浮点数 float 4 1.401298e-45 ~ 3.402823e+38
double 8 4.9000000e-324 ~ 1.797693e+308
字符 char 2 0-65535
布尔 boolean 1 true,false

说明:

​ e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。

​ 在java中整数默认是int类型,浮点数默认是double类型。

3.5 变量(应用)
3.5.1 变量的定义

变量:在程序运行过程中,其值可以发生改变的量。

从本质上讲,变量是内存中的一小块区域,其值可以在一定范围内变化。

变量的定义格式:

数据类型 变量名 = 初始化值; // 声明变量并赋值
int age = 18;
System.out.println(age);

或者

// 先声明,后赋值(使用前赋值即可)
数据类型 变量名;
变量名 = 初始化值;
double money;
money = 55.5;
System.out.println(money);

还可以在同一行定义多个同一种数据类型的变量,中间使用逗号隔开。但不建议使用这种方式,降低程序的可读性。

int a = 10, b = 20; // 定义int类型的变量a和b,中间使用逗号隔开
System.out.println(a);
System.out.println(b);

int c,d; // 声明int类型的变量c和d,中间使用逗号隔开
c = 30;
d = 40;
System.out.println(c);
System.out.println(d);

变量的使用:通过变量名访问即可。

3.5.2 使用变量时的注意事项
  1. 在同一对花括号中,变量名不能重复。
  2. 变量在使用之前,必须初始化(赋值)。
  3. 定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。因为整数默认是int类型,整数太大可能超出int范围。
  4. 定义float类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。因为浮点数的默认类型是double, double的取值范围是大于float的,类型不兼容。
3.6 标识符(记忆、理解)

标识符是用户编程时使用的名字,用于给类、方法、变量、常量等命名。

Java中标识符的组成规则:

​ 由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字。

​ 不能使用java中的关键字作为标识符。

​ 标识符对大小写敏感(区分大小写)。

Java中标识符的命名约定:

​ 小驼峰式命名:变量名、方法名

​ 首字母小写,从第二个单词开始每个单词的首字母大写。

​ 大驼峰式命名:类名

​ 每个单词的首字母都大写。

​ 另外,标识符的命名最好可以做到见名知意

​ 例如:username、studentNumber等。

3.7 类型转换(理解)

在Java中,一些数据类型之间是可以相互转换的。分为两种情况:自动类型转换和强制类型转换。

自动类型转换:

​ 把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。这种转换方式是自动的,直接书写即可。例如:

double num = 10; // 将int类型的10直接赋值给double类型
System.out.println(num); // 输出10.0

强制类型转换:

​ 把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。

​ 强制类型转换格式:目标数据类型 变量名 = (目标数据类型)值或者变量;

​ 例如:

double num1 = 5.5;
int num2 = (int) num1; // 将double类型的num1强制转换为int类型
System.out.println(num2); // 输出5(小数位直接舍弃)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b9RPRvSH-1571749868724)(images\图片1.png)]

说明:

  1. char类型的数据转换为int类型是按照码表中对应的int值进行计算的。比如在ASCII码表中,'a’对应97。
int a = 'a';
System.out.println(a); // 将输出97
  1. 整数默认是int类型,byte、short和char类型数据参与运算均会自动转换为int类型。
byte b1 = 10;
byte b2 = 20;
byte b3 = b1 + b2; 
// 第三行代码会报错,b1和b2会自动转换为int类型,计算结果为int,int赋值给byte需要强制类型转换。
// 修改为:
int num = b1 + b2;
// 或者:
byte b3 = (byte) (b1 + b2);
  1. boolean类型不能与其他基本数据类型相互转换。

68724)]

说明:

  1. char类型的数据转换为int类型是按照码表中对应的int值进行计算的。比如在ASCII码表中,'a’对应97。
int a = 'a';
System.out.println(a); // 将输出97
  1. 整数默认是int类型,byte、short和char类型数据参与运算均会自动转换为int类型。
byte b1 = 10;
byte b2 = 20;
byte b3 = b1 + b2; 
// 第三行代码会报错,b1和b2会自动转换为int类型,计算结果为int,int赋值给byte需要强制类型转换。
// 修改为:
int num = b1 + b2;
// 或者:
byte b3 = (byte) (b1 + b2);
  1. boolean类型不能与其他基本数据类型相互转换。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java基础语法(二) 的相关文章

随机推荐

  • bash脚本-----在耗时任务中显示旋转器动画

    1 bin bash sleep 5 pid frames while kill 0 pid 2 gt 1 gt dev null do for frame in frames do printf r frame Loading sleep
  • C++课设-学生信息管理系统

    前言 上学期的一个简单的C 课设项目 代码在后面 附github项目链接 一 问题描述 建立学生信息数据 包括学号 姓名 性别 三科成绩 出生时间 年龄 必须计算得到 使用继承的方法构造至少3个类 即学生类 虚基类 一年级学生和二年级学生类
  • 输入一个矩阵,按照从外向里依顺序一次打印

    输入一个矩阵 按照从外向里以顺时针的顺序依次打印出每一个数字 例如 如果输入如下4 X 4矩阵 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1 2 3 4 8 12 16 15 14 13
  • Fedora 22安装后无法找到Realtek无线网卡的解决

    在主目录中建立一个文件夹 mkdir Reaktek 接着进入该目录 执行 git clone https github com lwfinger rtlwifi new git 会出现rtlwifi new的文件夹 进入文件夹 执行 ma
  • 编译安装LNMP全程实录

    此次是在CentOs 7 4上进行安装配置 先把编译环境配置好 yum y install gcc automake autoconf libtool make yum install gcc gcc c 准备一些软件的安装包 安装包 地址
  • 线性代数——求逆矩阵

    方法一 行列式分之一乘伴随矩阵 方法二 在右边拼个单位阵做初等行变换使得左边的原矩阵变为单位阵 这时右边即逆矩阵 抽象矩阵求逆 用公式AB E 利用计算技巧凑出公式 两边加E 提取公因式 没有公因式可提时利用隐形的E AA 1 因为E可看作
  • 【Deepin】 Deepin 系统安装教程

    安装过程 准备 准备足够的磁盘空间 下载 格式化 制作启动盘 安装 设置U盘启动项 根据引导安装 新建分区 设置 记录一下第N次安装Deepin系统的过程 准备 准备足够的磁盘空间 deepin用于生活日常的话 不需要太大的空间 我准备了4
  • 理性选择key-value Store

    前言 开源产品固然好 但是各种场景的数据需求确实多少有些差距 利用现有的软硬件资源面对现有的问题快速做出调整是才是数据库工程师的真正价值 综述 key value store由于本身实现不像成熟RDBMS那么复杂 换句话说开发周期不常 性能
  • AbstractQueuedSynchronizer之AQS

    一 是什么 抽象的队列同步器 是用来构建锁或者其他同步器组件的重量级基础框架及整个JUC体系的基石 通过内置的FIFO队列来完成资源获取线程的排队工作 并通过一个int类型的变量来表示持有锁的状态 官方说法 二 与AQS相关联的知识 1 位
  • el-Popconfirm 气泡确认框修改样式无效。使用popper-class自定义样式

    样式 需要在非scoped区域才会生效 注意需要添加唯一父节点 以免影响其他页面 html结构
  • CardView的具体使用方法

    今天主要是CardView的用法 CardView是在安卓5 0提出的卡片式控件 首先介绍一下它的配置 在gradle文件下添加依赖库 compile com android support cardview v7 22 2 1 其次介绍一
  • SQL SERVER中求上月、本月和下月的第一天和最后一天[转]

    上月的第一天 SELECT CONVERT CHAR 10 DATEADD month 1 DATEADD dd DAY GETDATE 1 GETDATE 111 SELECT DATEADD mm DATEDIFF mm 0 datea
  • 【SpringMVC】DispatcherServlet重要组件之一HandlerAdapter

    作用使用处理器干活的 共三个方法 package org springframework web servlet import javax servlet http HttpServletRequest import javax servl
  • PTA程序设计类实验辅助教学平台-基础编程题--JAVA--7.3 逆序的三位数

    import java util Scanner public class Main public static void main String args Scanner sc new Scanner System in int i sc
  • C二级考试第一套题

    一 1 题目 2 程序 考察范围 1 结构体的定义 关键字使用 2 链表节点的相关操作 3 malloc的应用 include
  • PyQt6 和 PyQt5 的差异

    PyQt6 和 PyQt5 的差异 PyQt6 是 PyQt5 的下一个版本 但两个版本的写法基本上其实大同小异 这篇教学会介绍 PyQt6 和 PyQt5 有何差异 快速预览 exec 改为 exec 方法的位置或名称改变 不需要高 DP
  • 行为型模式 - 迭代器模式iterator

    模式的定义与特点 迭代器模式 iterator Pattern 为的提是可以顺序访问一个聚集中的元素而不必暴露聚集的内部表象 多个对象聚在一起形成的总体称之为聚集 聚集对象是能够包容一组对象的容器对象 迭代子模式将迭代逻辑封装到一个独立的子
  • 常见的智能指针

    智能指针其实是一个类模板 它与普通指针的区别在于他会自己释放内存空间 常见的智能指针有三种 unique ptr shared ptr weak ptr 他们都在头文件
  • Gradle到底是什么?

    Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具 它使用一种基于Groovy的特定领域语言来声明项目设置 而不是传统的XML 当前其支持的语言限于Java Groovy和Scala 计划未来将支持
  • java基础语法(二)

    3 java基础语法 3 1 注释 理解 注释是对代码的解释和说明文字 可以提高程序的可读性 因此在程序中添加必要的注释文字十分重要 Java中的注释分为三种 单行注释 单行注释的格式是使用 从 开始至本行结尾的文字将作为注释文字 这是单行