【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);//10
		System.out.println(a);//10
		System.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){
		//整数
		//byte
		byte b = 10;//-128-127
		System.out.println(b);
		//short
		short s = 20;
		System.out.println(s);
		//int
		int 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 false
		boolean 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

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

项目的操作

关闭项目

新建项目

打开项目(后续讲)

修改项目(后续讲)

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

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

相关文章

【Linux系统编程】线程深入运用

目录 一,C线程与系统线程 二,分离线程 三,线程结构 四,__thread关键字 五,Linux线程互斥 1,线程互斥相关的背景概念 2,互斥锁 3,死锁 4,互斥锁的弊端 六&#…

【ACM出版,EI稳定检索,九大高校联合举办, IEEE Fellow支持】2024年计算机视觉与艺术研讨会(CVA 2024)

在线投稿:学术会议-学术交流征稿-学术会议在线-艾思科蓝 2024年计算机视觉与艺术国际学术会议(CVA 2024)作为2024年人工智能、数字媒体技术与交互设计国际学术会议(ICADI 2024)的分会。此次大会旨在汇聚全球在计算机视觉与艺术…

红队工具---Behinder学习

1.什么是Behinder? Behinder 是一款用于网络渗透测试的安全工具,主要用于对 Web 应用进行攻击和漏洞利用。它提供了强大的功能,是一款红队的大杀器,几乎是现代web安全必须学习的一款webshell管理工具。 主要用途 渗透测试&#…

怿星科技薛春宇丨智能汽车软件研发工具链国产化的挑战和探索

2024年7月25日,由上海良益企业管理咨询有限公司主办的“2024域控制器技术论坛“在上海成功举办,十位嘉宾做了精彩分享。“整零有道”将陆续刊出部分演讲的文字实录,以飨读者。 本期刊出怿星科技副总经理薛春宇的演讲实录:智能汽车…

python这10个接口自动化的装饰器

在Python接口自动化测试中,装饰器可以用于增强测试函数的功能或改变其行为。以下是一些可能使用的装饰器示例: 设置和清理环境 setup:用于在测试开始前初始化环境或配置。 class CustomTestRunner: def __init__(self): self.setup_done …

【Spring】Cookie与Session

💐个人主页:初晴~ 📚相关专栏:计算机网络那些事 一、Cookie是什么? Cookie的存在主要是为了解决HTTP协议的无状态性问题,即协议本身无法记住用户之前的操作。 "⽆状态" 的含义指的是: 默认情况…

摄像头点击器常见问题——摄像头视窗打开慢

【嵌入式开发】可编程4k蓝牙摄像头点击器_能编程的摄像头-CSDN博客 拥有上述文章产品的朋友出现标题所述问题,可继续往下阅读 出现以上问题,摄像头画面打开较慢,可以按以下操作进行设置 在环境变量里设置一下这个参数,值设置为1&…

Springboot项目搭建的问题

1.第一次出现这个问题是在使用postgresql进行搭建项目的时候,但是配置文件中的驱动一致导入不了 最后发现是meaven中依赖导入不进来(不知道为什么),于是手动的在meaven中央仓库下载了对应的jar进行配置 然后项目可以正常启动 2.…

Java-I/O框架06:常见字符编码、字符流抽象类

视频链接:16.16 字符流抽象类_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Tz4y1X7H7?spm_id_from333.788.videopod.episodes&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5&p16 1.常见字符编码 IOS-8859-1收录了除ASCII外,还包括西欧…

搜索引擎算法更新对网站优化的影响与应对策略

内容概要 随着互联网的不断发展,搜索引擎算法也在不断地进行更新和优化。了解这些算法更新的背景与意义,对于网站管理者和优化人员而言,具有重要的指导意义。不仅因为算法更新可能影响到网站的排名,还因为这些变化也可能为网站带…

CSS兼容处理

“前端开发兼容——CSS篇” 在前端开发中,CSS样式的兼容性问题常常让开发者感到棘手,尤其是当涉及到IE浏览器时。由于IE浏览器版本繁多,每个版本在CSS支持上还存在差异,这导致开发者在实现统一的视觉效果时,不得不编写…

动态规划之回文串问题

文章目录 回文子串最长回文子串分割回文串 IV分割回文串 II最长回文子序列让字符串成为回文串的最少插入次数 回文子串 题目:回文子串 思路 状态表示:dp[i][j]表示s字符串由i到j是否是回文子串状态转移方程: s[i] ! s[j],则i到j一…

【HarmonyOS】鸿蒙应用低功耗蓝牙BLE的使用心得 (一)

【HarmonyOS】鸿蒙应用低功耗蓝牙BLE的使用心得(一) 一、前言 鸿蒙官网文档中蓝牙部分,对于之前没有开发过蓝牙的同学,使用和查阅起来不是很方便。因为只是API的调用说明。并没有蓝牙整个调用流程的讲解,所以看起来会…

一个简单的例子,说明Matrix类的妙用

在Android、前端或者别的平台的软件开发中,有时会遇到类似如下需求: 将某个图片显示到指定的区域;要求不改变图片本身的宽高比,进行缩放;要求最大限度的居中填充到显示区域。 以下示意图可以简单描绘该需求 以Androi…

蚁剑连接本地木马文件报错

项目场景: 本地搭建php和蚁剑环境,连接本地木马文件ma.php 问题描述 使用蚁剑连接localhost时报错 错误{ "address":"127.0.0.1" "code":"ECONNREFUSED", "errno":"ECONNREFUSED", &qu…

网页上的视频怎么下载下来?三种方法

分享三个简单好用的网页视频下载工具,值得使用! 1.IDM IDM 是一款可以提高下载速度达5倍的工具,同时具有恢复、调度和组织下载的功能。如果由于网络问题或意外的电源中断,程序将恢复未完成的下载。 IDM 还具有一个完全功能的站点…

使用 FastGPT 工作流实现 AI 赛博算卦,一键生成卦象图

最近那个男人写的汉语新解火遍了全网,那个男人叫李继刚,国内玩 AI 的同学如果不知道这个名字,可以去面壁思过了。 这个汉语新解的神奇之处就在于它只是一段几百字的提示词,效果却顶得上几千行代码写出来的应用程序。 这段提示词…

《虚拟现实的边界:探索虚拟世界的未来可能》

内容概要 在虚拟现实(VR)技术的浪潮中,我们见证了其从实验室的奇想逐渐走向日常生活的非凡旅程。技术发展的背后是不断突破的创新,早期的设备虽然笨重,但如今却趋向精致、轻巧,用户体验显著提升。想象一下…

无人机避障——4D毫米波雷达Octomap从点云建立三维栅格地图

Octomap安装 sudo apt-get install ros-melodic-octomap-ros sudo apt-get install ros-melodic-octomap-msgs sudo apt-get install ros-melodic-octomap-server sudo apt-get install ros-melodic-octomap-rviz-plugins # map_server安装 sudo apt-get install ros-melodic-…

推荐一个让线程池变的更简单的工具,轻量级的动态可监控线程池!(带私活源码)

背景 作为一个Java开发攻城狮,应用里少不了使用ThreadPoolExecutor 创建线程池,在使用的过程中你是否有以下痛点: 1、代码中创建了一个 ThreadPoolExecutor,但是不知道那几个核心参数设置多少比较合适 2、凭经验设置参数值&…