Java基础笔记1】Java基础语法

目录

一、Java简介 

二、JDK和Java初体验

三、配置环境变量

四、IDEA快捷键

五、Java语法基础

1. 注释

2. 字面量

3. 变量 

4. 关键字和标识符

5. 变量详解

a. 数值数据在计算机中的存储​编辑

b. 文本、图片、音频等数据在计算机中的存储

c. 八进制和十六进制

6. 数据类型

a. long和float的注意事项

7. 类型转换

a. 自动类型转换

b. 表达式的自动类型转换

c. 强制类型转换(Alt+Enter)

8. 运算符

a. 算数运算符

b. 自增自减运算符

c. 赋值运算符

d. 关系运算符

e. 逻辑运算符

f. 三元运算符

​g. 运算符的优先级

9. API与输入API

a. 输入API

10. 流程控制

a. 分支结构

if分支:

switch分支:

b. 循环结构

for循环:

while循环: 

do-while循环:

死循环:

循环嵌套:

跳转关键字:

给循环命名:

11. 生成随机数

12. 数组

a. 静态数组

静态数组的定义

数组的存储

数组的访问

数组的遍历

b. 动态数组

c. 数组在内存中的执行原理:

d. 多个数组变量指向同一个数组

13. 方法

a. 概念:

b. 注意事项:

c. 方法在计算机中的执行原理

e. Java的参数传递机制

f.方法重载

六、Debug入门

七、案例

1. 生成验证码

2. 抢红包

3. 打印星星


一、Java简介 

二、JDK和Java初体验


Windows系统命令行常用命令


 

三、配置环境变量

  • 打开Windows系统的环境变量设置(可在任务栏左下角搜索)
  • 在系统变量中配置一个JAVA_HOME
  • 在Path环境变量中添加一个%JAVA_HOME%\bin

四、IDEA快捷键

C + A + l : 格式化

A + S + ↑ :上下移动读取代码

C + / :注释

C + A + t : 代码快捷键


五、Java语法基础

1. 注释

2. 字面量

String s = ""; //空字符串

3. 变量 

 4. 关键字和标识符

a. 命名规则

5. 变量详解

a. 数值数据在计算机中的存储

b. 文本、图片、音频等数据在计算机中的存储

c. 二进制

十进制转换为二进制的方法有多种,这里介绍一种常用的方法:除2取余法。

除2取余法步骤:

  1. 将十进制数除以2,记录余数
    • 余数为该二进制数的最低位(右边第一位)。
    • 商继续参与下一步的除法。
  2. 重复上一步骤,直到商为0
    • 每次的余数从右到左依次排列,构成该十进制数的二进制表示。

示例:

将十进制数 23 转换为二进制:

  1. 23÷2=11 余 1
  2. 11÷2=5 余 1
  3. 5÷2=2 余 1
  4. 2÷2=1 余 0
  5. 1÷2=0 余 1

将余数从下到上排列,得到 23 的二进制表示为 10111

d. 八进制和十六进制

6. 数据类型

a. long和float的注意事项

7. 类型转换

a. 自动类型转换

b. 表达式的自动类型转换

c. 强制类型转换(Alt+Enter)

8. 运算符

a. 算数运算符

b. 自增自减运算符

c. 赋值运算符

复合赋值运算符还会自动类型转换:

d. 关系运算符


e. 逻辑运算符


短路与和短路或的效率更高。

f. 三元运算符


g. 运算符的优先级

注意在Java中的优先级大于

9. API与输入API

a. 输入API

10. 流程控制

a. 分支结构

  • if分支:
    单分支、双分支、多分支
  • switch分支:

b. 循环结构

  • for循环:
  • while循环: 
  • do-while循环:

  • 死循环:
  • 循环嵌套:
    外部循环每循环一次,内部循环会执行完一轮。
跳转关键字:

给循环命名: 

11. 生成随机数

  • 导包:import java.util.Random;
  • 创建随机数对象: Random r = new Random();
  • 生成随机数:int n1 = r.nextInt(10); // 生成[0, 10)的随机整数。(包前不包后)
  • 生成随机数:int n2 = r.nextInt(10,20); // 生成[0, 20)的随机整数。(包前不包后)

还有一种方式: int i = Math.random(); 利用Math类中的random()静态方法。

12. 数组

a. 静态数组

  • 静态数组的定义
  • 数组的存储

  • 数组的访问
  • 数组的遍历

b. 动态数组

静态初始化数组:int[] arr1 = new int[]{1, 2, 3};  //后面的[]中没有数字。

动态初始化数组:int[] arr2 = new int[3]; 

c. 数组在内存中的执行原理:

d. 多个数组变量指向同一个数组

13. 方法

a. 概念:

b. 注意事项:

c. 方法在计算机中的执行原理

方法调用时,是进入到栈中运行的。

为什么要在栈中调用方法?

        保证一个方法调用完另外一个方法后,可以回来。

e. Java的参数传递机制

f.方法重载

六、Debug入门

七、案例

1. 生成验证码

两次随机,第一次随机是数字还是大小写字母,第二次随机具体的数字或字母。

2. 抢红包

(可以先打乱奖金在数组中的顺序,再按下标发出,这样也是随机,且性能更好。)

3. 打印星星

(计算机按行打印,找规律,三目运算符)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java多线程(1)—线程基础

一、关于线程 1.1 简介 计算机线程(Thread)是操作系统能够进行运算调度的最小单位。线程的优势在于提高了程序的效率和响应能力,尤其在处理 I/O 操作或多任务时。多线程编程能够充分利用多核处理器的计算能力,达到更高的性能。 …

electron-updater实现electron全量版本更新

在 Electron 应用中使用 electron-updater 来实现自动更新功能时,通常你会在一个专门的模块或文件中管理更新逻辑。如果你想要使用 ES6 的 import 语法来引入 electron-updater,你需要确保你的项目已经配置好了支持 ES6 模块的构建工具(如 We…

【Fastapi】参数获取,json和query

【Fastapi】参数获取,json和query 前言giteegithub query形式json传递同步方法使用json 前言 花了半个月的时间看了一本小说,懈怠了…今天更新下fastapi框架的参数获取 gitee https://gitee.com/zz1521145346/fastapi_frame.git github https://git…

828华为云征文|Flexus云服务器X实例实践:部署Alist文件列表程序

828华为云征文|Flexus云服务器X实例实践:部署Alist文件列表程序 引言一、Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 主要使用场景 二、购买Flexus云服务器X实例2.1 购买规格参考2.2 查看Flexus云服务器X实例状态 三、远程连接Flexus云服务…

python是什么语言写的

Python是一种计算机程序设计语言。是一种面向对象的动态类型语言。现今Python语言很火,可有人提问,这么火的语言它的底层又是什么语言编写的呢? python是C语言编写的,它有很多包也是用C语言写的。 所以说,C语言还是很…

二分查找算法(5) _山脉数组的峰顶索引

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 二分查找算法(5) _山脉数组的峰顶索引 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论💌…

二分算法——优选算法

个人主页:敲上瘾-CSDN博客 个人专栏:游戏、数据结构、c语言基础、c学习、算法 本章我们来学习的是二分查找算法,二分算法的应用非常广泛,不仅限于数组查找,还可以用于解决各种搜索问题、查找极值问题等。在数据结构和算…

海外仓商品退换货管理:选择系统为何至关重要?

随着跨境电商的蓬勃发展,退换货问题成为了卖家们不得不面对的挑战。退换货处理不仅繁琐,而且对效率和服务质量的要求极高。因此,许多卖家选择海外仓来简化退换货流程。然而,海外仓在处理退换货时同样面临诸多难题,涉及…

openeuler 22.03 lts sp4 使用 kubeadm 部署 k8s-v1.28.2 高可用集群

文章目录 [toc]废话篇这篇文章什么时候写的为什么是 openeuler为什么是 22.03 lts sp4高可用架构题外话 干活篇环境介绍系统初始化相关关闭防火墙关闭 selinux关闭 swap开启内核模块开启模块自动加载服务 sysctl 内核参数调整清空 iptables 规则安装各种依赖和工具修改 .bashrc…

【uni-app】小兔鲜项目-基础架构-请求和上传文件拦截器

注意事项 uni.request 请求封装 请求和上传文件拦截器 uniapp 拦截器: uni.addInterceptor 接口说明:接口文档 实现需求 拼接基础地址设置超时时间添加请求头标识添加 token 参考代码 // src/utils/http.ts// 请求基地址 const baseURL https://pca…

ArcGIS Desktop使用入门(三)图层右键工具——拓扑(下篇:地理数据库拓扑)

系列文章目录 ArcGIS Desktop使用入门(一)软件初认识 ArcGIS Desktop使用入门(二)常用工具条——标准工具 ArcGIS Desktop使用入门(二)常用工具条——编辑器 ArcGIS Desktop使用入门(二&#x…

浅析OceanBase数据库的向量化执行引擎

本篇博客是偏数据库系统概念性的内容,不会深入到 OceanBase 中各个算子和表达式的在向量化中的详细设计和实现。 背景 为了提升OceanBase社区版用户解决问题的效率,OceanBase官方不久前推出了《OceanBase 从入门到实践》系列课程。在第七期直播课程后&a…

Llama 3.1 技术研究报告-2

3.3 基础设施、扩展性和效率 我们描述了⽀持Llama 3 405B⼤规模预训练的硬件和基础设施,并讨论了⼏项优化措施,这些措施提⾼了训练效率。 3.3.1 训练基础设施 Llama 1和2模型在Meta的AI研究超级集群(Lee和Sengupta,2022&#x…

软件设计师:01计算机组成与结构

文章目录 一、校验码1.奇偶校验码2.海明码3.循环冗余检验码 二、原码反码补码移码三、浮点数表示法1.浮点数相加时 四、寻址方式五、CPU1.访问速度2.cpu的组成 六、RISC和CISC&#xff08;<font color red>只用记住不同就可以&#xff09;七、冗余技术1.结构冗余2.信息冗…

2018年国赛高教杯数学建模D题汽车总装线的配置问题解题全过程文档及程序

2018年国赛高教杯数学建模 D题 汽车总装线的配置问题 一&#xff0e;问题背景   某汽车公司生产多种型号的汽车&#xff0c;每种型号由品牌、配置、动力、驱动、颜色5种属性确定。品牌分为A1和A2两种&#xff0c;配置分为B1、B2、B3、B4、B5和B6六种&#xff0c;动力分为汽油…

2024年陕西省安全员B证证模拟考试题库及陕西省安全员B证理论考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年陕西省安全员B证证模拟考试题库及陕西省安全员B证理论考试试题是由安全生产模拟考试一点通提供&#xff0c;陕西省安全员B证证模拟考试题库是根据陕西省安全员B证最新版教材&#xff0c;陕西省安全员B证大纲整理…

C语言 | Leetcode C语言题解之第424题替换后的最长重复字符

题目&#xff1a; 题解&#xff1a; int characterReplacement(char* s, int k) {int num[26];memset(num, 0, sizeof(num));int n strlen(s);int maxn 0;int left 0, right 0;while (right < n) {num[s[right] - A];maxn fmax(maxn, num[s[right] - A]);if (right - …

Oracle日常运维(一线DBA必备技能)(二)

List item 本篇接上篇&#xff0c;接着介绍Oracle DB几类重要文件的日常管理&#xff0c;和作为DBA需要掌握针对这些文件的哪些操作。本篇将重点介绍参数文件和控制文件&#xff0c;数据文件是和业务息息相关的文件&#xff0c;在后续的数据库备份恢复&#xff0c;优化篇将会针…

【Spring Cloud Alibaba】Nacos

【Spring Cloud Alibaba】Nacos 1. 什么是Nacos&#xff0c;它都能干什么&#xff1f;1.1 注册中心演变及其思想1.2 Nacos Discovery1.3 远程调用流程图1.4 一个微服务的流程1.4 常用注册中心对比 2. Nacos Server部署3. Nacos Client搭建附录 1. 什么是Nacos&#xff0c;它都能…

【机器学习】11——矩阵求导

机器学习11——矩阵求导 打公式不太好标注&#xff0c;全图警告&#xff01;&#xff01;&#xff01; 文章目录 机器学习11——矩阵求导1.1标量对向量1.2标量对矩阵2.1向量对标量2.2向量对向量2.3向量对矩阵 1.1标量对向量 1.2标量对矩阵 X是m*n的矩阵&#xff0c;不严谨&am…