【Java基础】2、Java基础语法

f2/fn+f2:选中点中的文件名

​​​​​​​

1.注释

为什么要有注释?

给别人和以后的自己可以看懂的解释

注释含义

注释是在程序指定位置的说明性信息;简单理解,就是对代码的一种解释

注释分类

单行注释

//注释信息

多行注释

/*注释信息*/

文档注释

/**注释信息*/

(文档注释暂时用不到)

public class HelloWorld{//mian方法,表示程序的主入口public static void main(String[] args){//输出语句(打印语句)/*会把小括里面的内容进行输出打印*/System.out.println("你好,世界");}
}

编译没有问题,证明代码的语法没有问题

注释的使用细节

  1. 注释的内容不参与编译,也不参与运行,仅仅是对代码的解释说明(注释只在java文件中存在,编译成class文件就不存在了)
  2. 单行注释//可以嵌套注释(但不要);多行注释/**/不可以嵌套注释(多行注释会把/*匹配到的第一个*/作为结束)

2.关键字

什么是关键字

被java赋予特定含义的英文单词

关键字的特点

  1. 关键字的字母全部小写
  2. 常用的代码编辑器,针对不同的关键字有特殊的颜色标记,非常直观

class关键字的含义

class用于创建(定义)一个类,后面跟随类名

class 类名{类的范围}

类:是Java最基本的组成单元

3.字面量

告诉程序员:数值在程序中的书写格式

有的地方称之为:常量、字面值常量

字面量的分类

整数、小数、字符串(“”)、字符(‘’)、布尔(true、false)、空(“null”)

null不能直接打印,打印null用字符串的形式打印

public class ValueDemo1{//类名要和.java文件名保持一致//mian方法,表示程序的主入口public static void main(String[] args){//常见的数据在代码中是如何书写的//整数System.out.println(666);System.out.println(-777);//小数System.out.println(1.93);System.out.println(-3.71);//字符串System.out.println("程序员");System.out.println("Chan");//字符System.out.println('男');System.out.println('女');//布尔System.out.println(true);System.out.println(false);//空//null不能直接打印,打印null用字符串的形式打印System.out.println("null");}
}

4.特殊字符

'\t'        '\r'        '\n'        ...

\t 制表符

在打印的时候,把前面字符串的长度补齐到8,或者8的整数倍。最少补1个空格,最多补8个空格。

让内容在上下是对齐的(一般在一行中的中间部分使用)

public class ValueDemo1{//类名要和.java文件名保持一致//mian方法,表示程序的主入口public static void main(String[] args){System.out.println("name"+'\t'+"age");System.out.println("tom"+'\t'+"23");}
}

5.变量

变量定义

在程序的执行过程中,其值有可能发生改变的量(数据)

变量的使用场景

  1. 重复使用某个值
  2. 某个数据经常发生改变

当某个数据经常发生改变时,我们可以用变量存储。当数据变化时,只要修改变量里面记录的值即可。

变量的定义格式

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

数据类型:为空间中存储的数据,加入类型限制

变量名:为空间起的名字

数值:存在空间里面的数值

;表示语句的结束

public class VariableDemo1{public static void main(String[] args){//定义变量//数据类型 变量名 = 数据值;//数据类型:限定了变量能存储数据的类型//int(整数) double(小数)//变量名:就是存储空间的名字//作用:方便以后使用//数据值:真正存在变量中的数据//等号:赋值。把右边的数据赋值给左边的变量int a=10;System.out.println(a);}
}

变量的使用方式

  1. 输出打印
  2. 参数与计算
  3. 修改变量记录的值(变量同时只能记录一个值)
public class VariableDemo2{public static void main(String[] args){//基本用法//1.定义变量,再进行输出int a=10;System.out.println(a);//10System.out.println(a);//10System.out.println(a);//10//2.变量参与计算//int a=10变量的名字不能重复int b=10;int c=20;System.out.println(b+c);//3.修改变量记录的值a=50;System.out.println(a);//50}
}

变量的注意事项

1.只能存一个值

2.变量名不允许重复定义

3.一条语句可以定义多个变量(中间用“,”隔开)

public class VariableDemo2{public static void main(String[] args){//变量的注意事项//在一条语句中,可以定义多个变量int d=100,e=200,f=300;System.out.println(d);System.out.println(e);System.out.println(f);}
}

4.变量再使用之前一定要进行赋值

没有赋值的变量是不能使用的,赋值和打印顺序也是很重要的

public class VariableDemo2{public static void main(String[] args){int g;System.out.println(g);//这样打印是错误的}
}
public class VariableDemo2{public static void main(String[] args){int g;System.out.println(g);//这样打印是错误的g=500;//在打印(使用)之前赋值也是不行的}
}
public class VariableDemo2{public static void main(String[] args){//变量在使用之前必须要赋值int g;//定义g=500;//赋值//建议:以后在定义变量的时候,请直接赋值,不要把定义和赋值分开System.out.println(g);}
}

5.变量的作用域范围

变量的练习

public class VariableTest{public static void main(String[] args){//一开始没有乘客int count = 0;//第一站:上去一位乘客(在原有的基础上+1)//先计算等号右边的,计算好之后,赋值给等号左边count = count+1;//System.out.println(count);//第二站:上去两位乘客,下来一位乘客count = count + 2 - 1;//第三站:上去两位乘客,下来一位乘客count = count + 2 - 1;//第四站:下来一位乘客count = count -1;//第五站:上去一位乘客count = count + 1;//请问:到了终点,车上一共几位乘客System.out.println(count);}
}

6.进制

6.1十进制

十进制 0 1 2 3 4 5 6 7 8 9 

逢十进一

借一当十

十进制的运算过程

6.2二进制

逢二进一

借一当二

二进制的运算过程

十进制中的0——二进制中的0

十进制中的1——二进制中的1

十进制中的2——二进制的中10

十进制中的3——二进制的中11

十进制中的4——二进制的中100

6.3常见的进制

二进制:由0和1组成,代码中以0b开头

十进制:由0~9组成,前面不加任何前缀

八进制:由0~7组成,代码中以0开头

十六进制:由0~9还有a~f组成,代码中以0x开头

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [a] [b] [c] [d] [e] [f]

(以上的规则是JDK7以上的特性)

在以前计算机区分的是用孔和没孔,现在是区分0和1

6.4进制之间的转换

公式:系数*基数的权次幂 相加

6.4.1任意进制转十进制

系数:每一位上的数

基数:当前进制数(几进制就是几)        //基数要是对应进制范围之内的数字

权:从右往左,一次为0 1 2 3 4 5 ...

二进制转十进制

8421快速转换法

每一位二进制值的1都是代表一个固定数值

把每一位的1代表的十进制数加起来得到的结果就是它所代表的十进制数。

6.4.2十进制转任意进制

除基取余法

不断的除以基数(几进制,基数就是几)得到余数,直到商为0,再将余数倒着拼起来

6.5小结

7.计算机的存储规则

在计算机中,任意数据都是以二进制的形式来存储的

(任何进制都是转成二进制再进行存储)

7.1计算机中的数据

7.1.1Text文本数据

数字:转换成二级制

字母:查询对应的ASCII码表,找到对应的数字,再转换成二进制

汉字:查询对应的码表,找到对应的数字,再转换成二进制

  1. GB2312编码:1981年5月1日发布的简体中文汉字编码国家标准。收录7445个图形字符,其中包括6763个汉字。
  2. BIG5编码:台湾地区繁体中文标准字符集,共收录13053个中文字,1984年实施。
  3. GBK编码:2000年3月17日发布,收录21003个汉字,包含国家标准GB13000-1中的全部中日韩汉字,和BIG5编码中的所有汉字。
  4. Unicode编码:国际标准字符集,它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言、跨平台的文本信息转换。

7.1.2Image图片数据

通过每个像素中的RGB三原色来存储

2K屏、4K屏(这说的是最大分辨率)

黑白图

灰度图

彩色图

用0-255*255*255表示颜色的数据

三原色

255——1111 1111——FF

  1.  计算机中的颜色采用光学三原色。
  2. 分别为:红,绿,蓝。也称之为RGB
  3. 可以写成十进制形式。(255,255,255)
  4. 也可以写成十六进制形式。(FFFFFF)

7.1.3Sound声音数据

声音的波形进行采样再存储

氪金:和红色的波形一样,听到的音质是和原本的声音一致的

不氪金:只是按照黑点的走向去画,不一定是什么样子

视频是很多图片和声音的组合体

8.数据类型

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

8.1基本数据类型

(4类,8种)

byte的取值范围是:-127-128

整数和小数取值范围大小关系:double>float>long>int>short>byte

long类型变量:需要加入L标识(大小写都可以,推荐大写)

float类型变量:需要加入F标识(大小写都可以,推荐大写)

long类型变量在定义的时候,要在后面加上L

public class VariableDemo3{//类名一定要和文件名保持一致//主入口public static void main(String[] args){//整数//bytebyte b = 10;//-128-127System.out.println(b);//shortshort s = 20;System.out.println(s);//intint i=30;System.out.println(i);//long//如果要定义long类型的变量//再数据值的后面需要加一个L作为后缀//L可以是大写的也可以是小写的(建议大写)long n = 999999999L;System.out.println(n);//float//定义float类型的变量的时候//数据值也需要加上一个F作为后缀float f = 10.1F;System.out.println(f);//double//定义double类型的变量的时候不需要加后缀double d=20.2;System.out.println(d);//char		char c ='中';System.out.println(c);//boolean//true falseboolean o =true;System.out.println(o);}
}

数据类型练习

练习一

public class VariableTest2{public static void main(String[] args){//定义变量记录姓名String name = "张三";//定义变量记录年龄int age = 18;//定义变量记录性别char gender = '男';//定义变量记录身高double height = 180.1;//定义变量记录是否单身//true是单身,false不是单身boolean flag = true;//输出变量的值System.out.println(name);System.out.println(age);System.out.println(gender);System.out.println(height);System.out.println(flag);}
}

练习二

public class VariableTest3{public static void main(String[] args){//定义变量记录电影的名字String name = "送初恋回家";//定义变量记录主演的名字String tostar = "刘鑫 张雨提 高媛";//定义变量记录电影的年份int year = 2020;//定义变量记录主演的评分double grade = 9.0;//输出所有变量的值System.out.println(name);System.out.println(tostar);System.out.println(year);System.out.println(grade);}
}

8.2引用数据类型

(会在后面学习数组和面向对象的时候学到)

9.标识符

(所对应的就是变量名)

什么是标识符

标识符:给类、方法、变量等起的名字

阿里巴巴规范

标识符命名规则

硬性要求

  1. 由数字、字母、下划线(_)和美元($)组成
  2. 不能以数字开头
  3. 不能是关键字
  4. 区分大小写

软性建议

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

标识符是一个单词的时候,全部小写——name

标识符由多个单词组成的时候,第一个的那次首字母小写,其他单词首字母大写——firstName

大驼峰命名法:类名

标识符是一个单词的时候,首字母大写——Student

标识符由多个单词组成的时候,每个单词的首字母大写——GoodStudent

10.键盘录入

Scanner

Java帮我们写好一个类叫Scanner,这个类就可以接收键盘输入的数字

Scanner使用步骤

以下介绍的,只能接收整数

1.导包——Scanner这个类在哪

import java.util.Scanner;        //导包的动作必须出现在类定义的上边

2.创建对象——表示我要开始用Scanner这个类了

Scanner sc = new Scanner(System.in);       

//这个格式里面,只有sc是变量名,可以变,其他的都不允许变

3.接收数据——真正开始干活

int i = sc.nextInt();        //这个格式李里面,只有i是变量名,可以变,其他的都不允许变

//1.导包,找到Sacnner这个类在哪
//书写要注意,写在类定义的上面
//导包的末尾要用;结束
import java.util.Scanner;public class ScannerDemo1{public static void main(String args[]){//2.创建对象,表示准备要用Scanner这个类Scanner sc = new Scanner(System.in);System.out.println("请输入整数:");//3.接收代码//sc.nextInt():键盘输入什么就接收什么,再赋值给左边的变量//变量i记录了键盘录入的数据int i = sc.nextInt();System.out.println(i);}
}

Scanner练习

键盘输入数字并求和

需求:键盘录入两个整数,求出他们的和并打印出来

//1.导包
//书写要注意,写在类定义的上面
//导包的末尾要用;结束
import java.util.Scanner;public class ScannerTest{public static void main(String args[]){//2.创建对象Scanner sc = new Scanner(System.in);System.out.println("请输入第一个数字:");//3.接收数据int number1 = sc.nextInt();System.out.println("请输入第二个数字:");//再次接收第二个数据int number2 = sc.nextInt();System.out.println(number1+number2);}
}

11.IDEA

IDEA概述

Intellij IDEA

IDEA全称Intellij IDEA,是用于Java语言开发的集成环境,它是业界公认的目前用于Java程序开发的最好额工具

集成环境:把代码、编译、执行、调试等多种功能综合到一起的开发工具

IDEA下载和安装

下载:https://www.jetbrains.com/idea/

安装:傻瓜式安装,建议修改安装路径

IDEA中的第一个代码

IDEA项目结构介绍

project(项目)

        module(模块)

                package(包)

                        class(类)

多级包用“.”隔开

运行代码

控制台

IDEA基本设置

修改主题(写代码的背景颜色)

修改代码的字体

修改注释的颜色

 设置自动导包

√上Add...和Optimize..

设置IDEA在提示的时候忽略大小写

去掉Match Case前面的√

给IDEA的背景设置成图片

点击Background Image选择要设置图片的位置

IDEA的项目和模块操作

类的操作

新建类

删除类

修改类名

文件名和类名要保持一致

Shift+F6

模块的操作

新建模块

file--Project Structure--module--+--Java--Next--模块名字--finish

删除模块(后续讲)
修改模块(后续讲)
导入模块(后续讲)

项目的操作

关闭项目

新建项目

打开项目(后续讲)

修改项目(后续讲)

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

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

相关文章

使用AMD GPU和LangChain构建问答聊天机器人

Question-answering Chatbot with LangChain on an AMD GPU — ROCm Blogs 作者:Phillip Dang 2024年3月11日 LangChain是一个旨在利用语言模型强大功能来构建前沿应用程序的框架。通过将语言模型连接到各种上下文资源并基于给定的上下文提供推理能力,L…

20241027_北京郊游香山公园

这次是第二次去香山公园,天气不是很晴朗,有雾。 乘坐地铁到的时候,第一趟车,我这么聪明,那肯定是不会坐的,因为没有座位,路程30多分钟,我都20多岁了,身体那肯定顶不住。 …

【React】React18核心源码解读

前言 本文使用 React18.2.0 的源码,如果想回退到某一版本执行git checkout tags/v18.2.0即可。如果打开源码发现js文件报ts类型错误请看本人另一篇文章:VsCode查看React源码全是类型报错如何解决。 阅读源码的过程: 下载源码 观察 package…

亚信安全DeepSecurity中标知名寿险机构云主机安全项目

近日,亚信安全DeepSecurity成功中标国内知名寿险机构的云主机安全项目。亚信安全凭借在云主机安全防护领域的突出技术优势,结合安全运营的能力,以“实战化”为指导,为用户提供无惧威胁攻击、无忧安全运营的一站式云安全体系&#…

前端 eslint 配置,以及在git提交之前自动format

目录 1、配置eslint步骤 1、eslint安装配置步骤 2、配置scripts步骤 3、测试eslint 2、配置git-hook1、安装环境2、最终效果 众所周知,前端项目可以在报很多error的情况下运行。但是良好的代码规范仍然有利于项目的开发维护,这里提供我的规范&#xff0c…

vue使用阿里svg图标

最近开发项目的写前端时候,发现element的图标库不能满足我的需求,当然,大部分是够用的,不过某些特定按钮没有合适的图标,我是发现没有批量导入按钮的图标,所以找了阿里的适量图标库来使用 阿里矢量图标库 阿里矢量图…

深入了解 kotlinx-datetime:配置与使用指南

深入了解 kotlinx-datetime:配置与使用指南 在Kotlin多平台开发中,处理日期和时间是常见的需求。kotlinx-datetime库提供了强大且简洁的API来帮助开发者应对这一挑战。本文将详细介绍如何配置kotlinx-datetime库,并通过生动的示例演示其核心…

ventoy安装和使用

本文涉及一种快捷安装不同版本操作系统的工具的安装和使用。 背景 笔者以前安装系统,一般是先下载系统ISO镜像,使用UltraISO将镜像写入U盘,然后用U盘启动。 近年来着手国产化的适配工作,当然因故无法接触核对业务,主…

《Python游戏编程入门》注-第4章1

《Python游戏编程入门》的第4章是“用户输入:Bomb Cathcer游戏”,通过轮询键盘和鼠标设备状态实现Bomb Cathcer游戏。 1 Bomb Cathcer游戏介绍 “4.1 认识Bomb Cathcer游戏”内容介绍了Bomb Cathcer游戏的玩法,即通过鼠标来控制红色“挡板”…

Unity3D学习FPS游戏(5)武器瞄准和准星

前言:一个FPS游戏最基本的角色控制,在前面几篇已经基本实现,接下来我们将进入到武器篇。本篇将实现武器武器瞄准和准星。 武器瞄准和准星 武器瞄准思路实现效果 武器准星思路实现效果 补充知识协程线性插值 武器瞄准 思路 FPS游戏在准备开枪…

vue-echarts使用

vue-echarts使用 排名柱状图示例代码 汇总示例代码 平均时效示例代码 全图 排名柱状图 示例 代码 // 排名趋势<!-- 排名数据趋势图 --><div class"rank"><div class"rank_title"><div class"rank_title_left"><spa…

【04】RabbitMQ的集群机制

1、RabbitMQ的性能监控 关于RabbitMQ的性能监控&#xff0c;在管理控制台中提供了非常丰富的展示。例如&#xff1a;首页这个整体监控页面&#xff0c;就展示了非常多详细的信息&#xff1a; 还包括消息的生产消费频率、关键组件的使用情况等等非常多的消息。都可以在这个管理…

Segugio:一款针对恶意软件的进程执行跟踪与安全分析工具

关于Segugio Segugio是一款功能强大的恶意软件安全分析工具&#xff0c;该工具允许我们轻松分析恶意软件执行的关键步骤&#xff0c;并对其进行跟踪分析和安全审计。 Segugio允许执行和跟踪恶意软件感染过程中的关键步骤&#xff0c;其中包括从点击第一阶段到提取恶意软件的最…

YOLO-FaceV2:A Scale and Occlusion Aware Face Detector

摘要 近年来&#xff0c;基于深度学习的人脸检测算法取得了巨大进展。这些算法一般可以分为两类&#xff0c;即像Faster R-CNN这样的两阶段检测器和像YOLO这样的一阶段检测器。由于一阶段检测器在精度和速度之间取得了更好的平衡&#xff0c;因此已被广泛应用于多种场景。在本…

贪心算法与盛雨水问题

啥是盛雨水问题&#xff1f;给个图就熟悉了 欸&#xff1f; 这其中的关键在于&#xff1a; 1. 容量2D化就是长 * 宽 2. 木桶效应&#xff1a;宽取决于短板。 那我们来分析&#xff0c;怎么样能达到最佳的结果呢&#xff1f;穷举一下所有可能性不就好了&#xff1f;每两个板子…

OAK相机的RGB-D彩色相机去畸变做对齐

▌低畸变标准镜头的OAK相机RGB-D对齐的方法 OAK相机内置的RGB-D管道会自动将深度图和RGB图对齐。其思想是将深度图像中的每个像素与彩色图像中对应的相应像素对齐。产生的RGB-D图像可以用于OAK内置的图像识别模型将识别到的2D物体自动映射到三维空间中去&#xff0c;或者产生的…

Information Theoretical Estimators (ITE) Toolbox的使用(MATLAB)

Information Theoretical Estimators (ITE) Toolbox是什么 官方文档&#xff1a; ITE is can estimate several entropy, mutual information, divergence, association measures, cross quantities and kernels on distributions. Thanks to its highly modular design, ITE …

STM32G474硬件CRC16和软件CRC16校验

1、硬件CRC校验和软件CRC校验的多项式&#xff0c;以及初始值 #define CRC_Hardware_POLYNOMIAL_16B 0x8005 //硬件CRC多项式为0x8005 //CRC16x^16 x^15 x^2 1&#xff0c;因为bit151,bit21,bit01&#xff0c;所以正向校验的多项式的值为0x8005 //CRC校验分为正向校验和反…

UWA Gears:Frame Capture模式 - 着色器查看器

UWA Gears 是UWA最新发布的无SDK性能分析工具。针对移动平台&#xff0c;提供了实时监测和截帧分析功能&#xff0c;帮助您精准定位性能热点&#xff0c;提升应用的整体表现。 在上周的文章中&#xff0c;我们详细介绍了网格查看器的功能&#xff0c;介绍如何通过网格数据优化…

微服务电商平台课程三:基础环境搭建

后端基础环境 工具版本号功能说明下载JDK1.8java编译运行的基本环境Java Downloads | Oracledocker27.0.3容器化部署Windows | Docker Docsgit2.46.2代码版本管理&#xff0c;多人协作代码开发Git for Windowsmaven3.9.9服务的依赖管理Maven – Download Apache MavenMySQL5.7…