Java基础语法-学习笔记

news2024/12/25 14:06:10

目录

01Java语言的发展

02Java的三大平台

03Java的主要特性

04JRE和JDK

1. 注释

使用的技巧

注意点

2. 关键字

2.1 概念

2.2 第一个关键字class

3. 字面量

区分技巧

4. 变量

4.1 什么是变量?

4.2 变量的定义格式

5. 数据类型

5.1 Java语言数据类型的分类

5.2 基本数据类型的四类八种

5.3 定义8种基本数据类型变量

5.4 练习1

5.5 练习2

5.6 练习3

6. 标识符

6.1 硬性要求:

6.2 软件建议:

6.2.1 小驼峰命名法

6.2.2 大驼峰命名法

阿里巴巴命名规范细节:

7. 键盘录入


01Java语言的发展

三个版本:

  • Java5.0:这是Java的第一个大版本更新。

  • Java8.0:这个是目前绝大数公司正在使用的版本。因为这个版本最为稳定。

  • Java15.0:这个是我们课程中学习的版本。

解惑:

我们学的跟工作中使用的版本不太一样啊。会不会影响以后工作呢?

向下兼容。新的版本只是在原有的基础上添加了一些新的功能而已。

举例:

用8版本开发的代码,用11版本能运行吗?必须可以的。

用11版本开发的代码,用8版本能运行吗?不一定。

如果11版本开发的代码,没有用到9~11的新特性,那么用8是可以运行的。

如果11版本开发的代码,用到了9~11的新特性,那么用8就无法运行了。

02Java的三大平台

JavaSE、JavaME、JavaEE

JavaSE

是其他两个版本的基础。

JavaME

Java语言的小型版,用于嵌入式消费类电子设备或者小型移动设备的开发。

其中最为主要的还是小型移动设备的开发(手机)。渐渐的没落了,已经被安卓和IOS给替代了。

但是,安卓也是可以用Java来开发的。

JavaEE

用于Web方向的网站开发。(主要从事后台服务器的开发)

在服务器领域,Java是当之无愧的龙头老大。

03Java的主要特性

  • 面向对象

  • 安全性

  • 多线程

  • 简单易用

  • 开源

  • 跨平台

Java语言跨平台的原理:

  • 操作系统本身其实是不认识Java语言的。

  • 但是针对于不同的操作系统,Java提供了不同的虚拟机。

虚拟机会把Java语言翻译成操作系统能看得懂的语言。

 

04JRE和JDK

 

JVM(Java Virtual Machine),Java虚拟机

JRE(Java Runtime Environment),Java运行环境,包含了JVM和Java的核心类库(Java API)

JDK(Java Development Kit)称为Java开发工具,包含了JRE和开发工具

总结:我们只需安装JDK即可,它包含了java的运行环境和虚拟机。

1. 注释

注释是对代码的解释和说明文字。

Java中的注释分为三种:

  • 单行注释:

// 这是单行注释文字

  • 多行注释:

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

  • 文档注释(暂时用不到):

/** 这是多行注释文字 这是多行注释文字 这是多行注释文字 */

使用的技巧

如果我们要对代码进行解释,那么就可以使用注释。

当注释的内容比较少,一行就写完了,可以用单行注释。

如果注释的内容比较多,需要写在多行,那么可以使用多行注释。

注意点

注释的内容不会参与编译和运行的,仅仅是对代码的解释说明而已。

所以,不管在注释当中写什么内容,都不会影响代码运行的结果。

2. 关键字

2.1 概念

被Java赋予了特定含义的英文单词。

当我们在代码中写了关键字之后,程序在运行的时候,就知道要做什么事情了。

注意:关键字很多,不用刻意去记。

abstractassertbooleanbreakbyte
casecatchcharclassconst
continuedefaultdodoubleelse
enumextendsfinalfinallyfloat
forgotoifimplementsimport
instanceofintinterfacelongnative
newpackageprivateprotectedpublic
returnstrictfpshortstaticsuper
switchsynchronizedthisthrowthrows
transienttryvoidvolatilewhile

2.2 第一个关键字class

表示定义一个类。创建一个类。

类:Java项目最基本的组成单元,一个完整的Java项目有可能会有成千上万个类来组成的。

class后面跟随的就是这个类的名字,简称:类名。

在类名后面会有一对大括号,表示这个类的内容。

举例:

public class HelloWorld{ }

解释:class表示定义类。

类名:HelloWorld

HelloWorld后面的大括号表示这个类的范围。

3. 字面量

作用:告诉程序员,数据在程序中的书写格式。

字面量类型说明程序中的写法
整数不带小数的数字666,-88
小数带小数的数字13.14,-5.21
字符必须使用单引号,有且仅能一个字符‘A’,‘0’, ‘我’
字符串必须使用双引号,内容可有可无“HelloWorld”,“黑马程序员”
布尔值布尔值,表示真假,只有两个值:true,falsetrue 、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("欢迎来到黑马程序员"); // 输出字符串
    }
}

区分技巧

  1. 不带小数点的数字都是整数类型的字面量。

  2. 只要带了小数点,那么就是小数类型的字面量。

  3. 只要用双引号引起来的,不管里面的内容是什么,不管里面有没有内容,都是字符串类型的字面量。

  4. 字符类型的字面量必须用单引号引起来,不管内容是什么,但是个数有且只能有一个。

  5. 字符类型的字面量只有两个值,true、false。

  6. 空类型的字面量只有一个值,null。

4. 变量

4.1 什么是变量?

变量就在程序中临时存储数据的容器。但是这个容器中只能存一个值。

4.2 变量的定义格式

数据类型 变量名 = 数据值;

4.2.1 格式详解

数据类型:限定了变量当中能存储什么类型的数据。

如果要存10,那么数据类型就需要写整数类型。

如果要存10.0,那么数据类型就需要写小数类型。

变量名:其实就是这个容器的名字。

当以后想要使用变量里面的数据时,直接使用变量名就可以了。

数据值:真正存储在容器中的数据。

分号:表示语句的结束,就跟以前写作文时候的句号是一样的。

4.2.2 常用的数据类型

整数:int

小数:(浮点数)double

其他数据类型稍后讲解

举例:

public class VariableDemo{
    public static void main(String[] args){
        //定义一个整数类型的变量
        //数据类型 变量名 = 数据值;
        int a = 16;
        System.out.println(a);//16
        
        //定义一个小数类型的变量
        double b = 10.1;
        System.out.println(b);//10.1
    }
}

4.2.3 变量的注意事项

  • 变量名不能重复

  • 在一条语句中,可以定义多个变量。但是这种方式影响代码的阅读,所以了解一下即可。

  • 变量在使用之前必须要赋值。

案例:

public class VariableDemo2{
    public static void main(String[] args){
        //1.变量名不允许重复
        //int a = 10;
        //int a = 20;
        //System.out.println(a);
        
        //2.一条语句可以定义多个变量
        //了解。
        //int a = 10, b = 20, c = 20,d = 20;
        //System.out.println(a);//?
        //System.out.println(b);//?
        
        
        //3.变量在使用之前必须要赋值
        int a = 30;
        System.out.println(a);
    }
}

5. 数据类型

5.1 Java语言数据类型的分类

  • 基本数据类型

  • 引用数据类型(面向对象的时候再深入学习)

5.2 基本数据类型的四类八种

数据类型关键字内存占用取值范围
整数byte1负的2的7次方 ~ 2的7次方-1(-128~127)
short2负的2的15次方 ~ 2的15次方-1(-32768~32767)
int4负的2的31次方 ~ 2的31次方-1
long8负的2的63次方 ~ 2的63次方-1
浮点数float41.401298e-45 ~ 3.402823e+38
double84.9000000e-324 ~ 1.797693e+308
字符char20-65535
布尔boolean1true,false

说明

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

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

需要记忆以下几点

byte类型的取值范围:

-128 ~ 127

int类型的大概取值范围:

-21亿多 ~ 21亿多

整数类型和小数类型的取值范围大小关系:

double > float > long > int > short > byte

最为常用的数据类型选择:

  • 在定义变量的时候,要根据实际的情况来选择不同类型的变量。

  • 比如:人的年龄,可以选择byte类型。

  • 比如:地球的年龄,可以选择long类型。

  • 如果整数类型中,不太确定范围,那么默认使用int类型。

  • 如果小数类型中,不太确定范围,那么默认使用double类型。

  • 如果要定义字符类型的变量,那么使用char

  • 如果要定义布尔类型的变量,那么使用boolean

5.3 定义8种基本数据类型变量

public class VariableDemo3{
    public static void main(String[] args){
        //1.定义byte类型的变量
        //数据类型 变量名 = 数据值;
        byte a = 10;
        System.out.println(a);

        //2.定义short类型的变量
        short b = 20;
        System.out.println(b);

        //3.定义int类型的变量
        int c = 30;
        System.out.println(c);

        //4.定义long类型的变量
        long d = 123456789123456789L;
        System.out.println(d);

        //5.定义float类型的变量
        float e = 10.1F;
        System.out.println(e);

        //6.定义double类型的变量
        double f = 20.3;
        System.out.println(f);

        //7.定义char类型的变量
        char g = 'a';
        System.out.println(g);

        //8.定义boolean类型的变量
        boolean h = true;
        System.out.println(h);

    }
}

注意点

  • 如果要定义 一个整数类型的变量,不知道选择哪种数据类型了,默认使用int。

  • 如果要定义 一个小数类型的变量,不知道选择哪种数据类型了,默认使用double。

  • 如果要定义一个long类型的变量,那么在数据值的后面需要加上L后缀。(大小写都可以,建议大写。)

  • 如果要定义一个float类型的变量,那么在数据值的后面需要加上F后缀。(大小写都可以)

5.4 练习1

需求:定义5个变量记录老师的信息并打印

代码示例:

public class VariableTest1{
    public static void main(String[] args){
        //1.定义字符串类型的变量记录老师的姓名
        String name = "黑马谢广坤";
        //2.定义整数类型的变量记录老师的年龄
        int age = 18;
        //3.定义字符类型的变量记录老师的性别
        char gender = '男';
        //4.定义小数类型的变量记录老师的身高
        double height = 180.1;
        //5.定义布尔类型的变量记录老师的婚姻状况
        boolean flag = true;
        
        //输出5个变量的值
        System.out.println(name);
        System.out.println(age);
        System.out.println(gender);
        System.out.println(height);
        System.out.println(flag);
        
    }
}

5.5 练习2

需求:将(电影名称,主演,年份,评分)四个信息选择不同类型的变量,随后打印出来。

代码示例:

public class VariableTest2{
    public static void main(String[] args){
        //1.定义字符串变量记录电影的名称
        String movie = "送初恋回家";
        //2.定义三个变量记录主演的名字
        String name1 = "刘鑫";
        String name2 = "张雨提";
        String name3 = "高媛";
        //3. 定义整数类型的变量记录年龄的年份
        int year = 2020;
        //4.定义小数类型的变量记录电影的评分
        double score = 9.0;
        
        //打印变量的信息
        System.out.println(movie);
        System.out.println(name1);
        System.out.println(name2);
        System.out.println(name3);
        System.out.println(year);
        System.out.println(score);
        
    }
}

5.6 练习3

需求:选择其中一部手机,将(手机价格,手机品牌)两个信息选择不同类型的变量,随后打印出来。

代码示例:

public class VariableTest3{
    public static void main(String[] args){
        //1.定义小数类型的变量记录手机的价格
        double price = 5299.0;
        
        //2.定义字符串类型的变量记录手机的品牌
        String brand = "华为";
        
        //输出变量记录的值
        System.out.println(price);
        System.out.println(brand);
    }
}

6. 标识符

业内大多数程序员都在遵守阿里巴巴的命名规则。

在day02的资料文件夹中有。

6.1 硬性要求:

必须要这么做,否则代码会报错。

  • 必须由数字、字母、下划线_、美元符号$组成。

  • 数字不能开头

  • 不能是关键字

  • 区分大小写的。

6.2 软件建议:

如果不这么做,代码不会报错,但是会让代码显得比较low。

6.2.1 小驼峰命名法

适用于变量名和方法名

  • 如果是一个单词,那么全部小写,比如:name

  • 如果是多个单词,那么从第二个单词开始,首字母大写,比如:firstName、maxAge

6.2.2 大驼峰命名法

适用于类名

  • 如果是一个单词,那么首字母大写。比如:Demo、Test。

  • 如果是多个单词,那么每一个单词首字母都需要大写。比如:HelloWorld

不管起什么名字,都要做到见名知意。

阿里巴巴命名规范细节:

  1. 尽量不要用拼音。但是一些国际通用的拼音可视为英文单词。

  2. 正确:alibaba、hangzhou、nanjing

  3. 错误:jiage、dazhe

  4. 平时在给变量名、方法名、类名起名字的时候,不要使用下划线或美元符号。

  5. 错误:_name

  6. 正确:name

7. 键盘录入

键盘录入的实际功能Java已经帮我们写好了,不需要我们自己再实现了,而Java写好的功能都放在了Scanner这个类中,所以,我们只要直接使用Scanner这个类就可以了。

使用步骤:

第一步:

导包:其实就是表示先找到Scanner这个类在哪。

第二步:

创建对象:其实就表示申明一下,我准备开始用Scanner这个类了。

第三步:

接收数据:也是真正干活的代码。

代码示例:

//导包,其实就是先找到Scanner这个类在哪
import java.util.Scanner;
public class ScannerDemo1{
    public static void main(String[] args){
        //2.创建对象,其实就是申明一下,我准备开始用Scanner这个类了。
        Scanner sc = new Scanner(System.in);
        //3.接收数据
        //当程序运行之后,我们在键盘输入的数据就会被变量i给接收了
        System.out.println("请输入一个数字");
        int i = sc.nextInt();
        System.out.println(i);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/138268.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32——TIM输出比较

文章目录一、TIM输出比较输出比较简介PWM简介输出比较通道(高级)输出比较通道(通用)输出比较模式控制器工作原理PWM基本结构参数计算三、PWM驱动LED呼吸灯电路设计关键代码关键函数与参数引脚重映射取消默认调试功能函数极性选择决定占空比,周期的三个函数四、PWM驱…

Design pattern-js的设计模式(一)

前言 什么是设计模式?(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间…

【youcans 的 OpenCV 例程 300篇】254.OpenCV 绘制图像标记

『youcans 的 OpenCV 例程300篇 - 总目录』 【youcans 的 OpenCV 例程 300篇】254. OpenCV 绘制标记 7.1 绘图函数基本参数 OpenCV提供了绘图功能,可以在图像上绘制直线、矩形、圆、椭圆等各种几何图形。 函数 cv.line()、cv.rectangle()、cv.circle()、cv.polyli…

深度学习:08 训练、测试和验证集的说明

目录 用于深度学习的数据集 训练集 验证集 测试集 总结 用于深度学习的数据集 接下来,我将在这篇里面讨论在训练和测试神经网络期间使用的不同数据集。 出于模型的训练和测试目的,我们应该将数据分解为三个不同的数据集。这些数据集将包含以下内容…

【小f的刷题笔记】(JS)阶乘 - 阶乘后的零 LeetCode172 阶乘函数后K个零 LeetCode793

【阶乘】 一、阶乘后的零: LeetCode172 链接: 172.阶乘后的零 题目: 思路: 0的产生是一定是因为2*5产生的,所以就是找因数 并且,可想而知,找的到因数5,必然找的到因数2与之搭配…

【MySQL】深入理解B+树索引

文章目录1. 前言2. 索引方案3. InnoDB的索引方案4. 索引的分类4.1 聚簇索引4.2 二级索引4.3 联合索引5. InnoDB中的B树索引的注意事项5.1 内节点中目录项记录的唯一主5.2 一个页至少容纳2条记录6. MyISAM中的索引⽅案简单介绍1. 前言 索引,是MySQL快速查询的秘籍。…

ARMv8/ARMv9:深入理解MPIDR_EL1寄存器中的affinity

快速链接: . 👉👉👉 个人博客笔记导读目录(全部) 👈👈👈 付费专栏-付费课程 【购买须知】:【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈官方文档(ARM ARM文档)的介绍如下所示 翻译一下MPIDR_EL1相关的英文,如下所示: 作用: 在多处理器系统中,为调…

Xshell 连接虚拟机(Ubuntu、CentOS)

对于一些linux的初学者来说,在没有自己的服务器时可以选择使用虚拟机来代替(如ubuntu、centos等)进行相关的学习。下面介绍下如何使用xshell来远程连接虚拟机。 注意:下面我以Ubuntu来举例说明。 1、创建虚拟机 虚拟机的创建网络…

1、数据库安装修改root密码管理自启服务

MySQL的下载和安装 登录MySQL官网下载MySQL.zip包 MySQL :: Download MySQL Community Server 下载完毕可自行选择存储位置,进行解压 解压后配置环境变量 完成配置后在MySQL目录下新建一个my.ini配置文件 文件写入以下内容 [client] # 设置mysql客户端默认字符集…

面向对象2(static修饰变量和方法、Javabean类、测试类和工具类、对main方法的理解、继承、子类继承父类构造方法变量和方法)

1、static修饰变量和方法 JDK8以前,静态区在方法区里面,JDK8开始,静态区挪到了堆内存当中 理解: 因为静态方法没有this,而非静态方法是有一个隐含的参数this的,所以想在静态方法里面调用非静态变量或方法就…

电子招标采购系统源码之传统采购模式面临的挑战

采购类型多 采购制度:采购金额、部门、品类的差异导致管理标准不同。 采购流程:从供应商管理、寻源操作到合同签订、订单执行,业务流程长,审批节点多,传统管理透明度低,联动性差。 供应商管理难 寻源&#…

亚马逊云科技 Build On - Serverless助力企业降本增效

亚马逊云科技 Build On - Serverless开启零售新篇章梅开三度活动体验实验问题总结一点建议咖啡案例实验Serverless学习总结梅开三度 Hi,作为一名Builder,这也是第三次参加由AWS&CSDN共同举办的Build On活动,跟前几期一样,活动举办方也是…

Java集合ArrayList-学习笔记

目录 ArrayList 集合和数组的优势对比: 1.1 ArrayList类概述 1.2 ArrayList类常用方法 1.3 ArrayList存储字符串并遍历 1.4 ArrayList存储学生对象并遍历 1.5 查找用户的索引 1.6 判断用户的是否存在 ArrayList 集合和数组的优势对比: 集合长度可…

Ardupilot EKF3核心算法《状态量速度与位置预测方程》

目录 文章目录 目录摘要1. Ardupilot EKF3核心算法《状态量速度预测方程》2. Ardupilot EKF3核心算法《状态量位置预测方程》3. Ardupilot EKF3核心算法《状态量速度与位置预测方程》摘要 本节主要记录Ardupilot EKF3核心算法《状态量速度与位置预测方程》的过程,欢迎批评指正…

mysql生产数据库被误删

23年的头一天上班安装数据库,因为ssh工具来回切换失误,犯下不可饶恕的错误,居然将生产数据库全部删除,工作十几年头一次干这种蠢事,第一时间反应是一世英名毁于一旦,赶紧跑路。第二反应还是想办法看能否挽回…

aws eks 使用 cloudformation 创建并更新自管节点组

参考资料 更新现有自行管理的节点组 使用eks自管节点组能够最大程度控制节点的各项配置和参数,包括并不限于ami,节点类型等 但是使用自管节点也给用户带来了较大的维护和更新成本。对于节点组的更新操作,我们可以使用cloudformation的方式…

速览Visual Studio 2022 中的新增功能

目录 性能改进 Visual Studio 2022 为 64 位 在文件中更快地查找 Git 工具速度更快 生成新式应用 适用于 C、.NET 和热重载的更佳开发工具 Blazor & 的汇报ASP.NET 的 Razor 编辑器 热重载 创新触手可及 Git 多存储库支持和行暂存支持 IntelliCode 改进 为每个…

魔方(15)二、三、四、五阶棋盘魔方

棋盘魔方 这价格实在可恶,于是我拿现成的魔方自己贴贴纸。 二阶棋盘魔方A 有4个角块是3面黑,4个角块是3面白,而6个面都是棋盘色。 只需要2步就可以转化成: 所以任意状态只要转化成这个状态再加2步就能复原了。 二阶棋盘魔方B&a…

【C++函数对象】STL基础语法学习 | 仿函数谓词内建仿函数

目录 ●仿函数 1.概念 2.使用 ●谓词 1.一元谓词 2.二元谓词 ●内建仿函数 1.算数仿函数 2.关系仿函数 3.逻辑仿函数 ●仿函数 1.概念 重载函数调用操作符的类,其对象常称为函数对象。函数对象使用重载的()时,行为类似函数的调用,所…

技术更高,设计更远:华为全屋智能设计大赛的审美之跃

“人生到处知何以?应似飞鸿踏雪泥。泥上偶然留指爪,鸿飞那复计东西。”很多设计师朋友跟我说,苏轼这首《和子由渑池怀旧》是对设计与审美的最高理解。好的设计,应该仅仅留下一点点痕迹,同时在简约的表象下隐含大量的审…