【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.rhkb.cn/news/459643.html

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

相关文章

NAT技术和代理服务器

NAT IP原理 之前我们讨论了, IPv4协议中, IP地址数量不充足的问题 NAT技术当前解决IP地址不够用的主要手段, 是路由器的一个重要功能;NAT能够将私有IP对外通信时转为全局IP. 也就是就是一种将私有IP和全局IP相互转化的技术方法:很多学校, 家庭, 公司内部采用每个终端设置私有…

基于SSM+小程序的购物管理系统1

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM小程序的购物管理系统1,可以实现首页、个人中心、商品分类管理、商品信息管理、特价商品管理、用户管理、留言板管理、系统管理、订单管理等功能。方便用户对首页、商品…

Java审计对比工具JaVers使用

最近有个需求,需要将页面的内容生成excel或者word文档,而且每次的修改都需要生成新的版本,同时需要记录每次修改变化的内容。我们会把每次的修改的内容提交赋值给一个java对象,同时存储到数据库一条新数据,对应数据表一…

stm32入门教程--DMA 超详细!!!

目录 简介 工作模式 1、数据转运DMA 2、ADC扫描模式DMA 简介 工作模式 1、数据转运DMA 这个例子的任务是将SRAM的数组DataA,转运到另一个数组DataB中,这个基本结构里的各个参数应该如何配置呢? 首先是外设站点和存储器站点的起始地址、…

Python 爬虫的寻宝大冒险:如何捕获 API 数据的宝藏

在这个信息爆炸的数字时代,数据就像是隐藏在网络深处的宝藏,等待着勇敢的探险家去发现。今天,我们要讲述的是如何成为一名 Python 爬虫探险家,装备你的代码工具,深入 API 的迷宫,捕获那些珍贵的数据宝藏。 …

时间序列预测(十五)——有关Python项目框架的实例分析

#1024程序员节|征文# 在之前的学习中,已经对时间序列预测的相关内容有了大致的了解。为了进一步加深理解,并能够将所学知识应用于实际中,我决定找一个完整的Python框架来进行深入学习。经过寻找,我终于找到了一篇非常具…

【338】基于springboot的IT职业生涯规划系统

毕 业 设 计(论 文) 题目:it职业生涯规划系统的设计与实现 摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以…

基于SSM+小程序的童装商城管理系统(商城3)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM小程序的童装商城管理系统实现了管理员及用户。 1、管理员实现了 首页、个人中心、用户管理、分类列表管理、童装商城管理、系统管理、订单管理。 2、用户实现了 注册、登录、首…

Spring Boot框架中小企业设备监控系统开发

3系统分析 3.1可行性分析 通过对本中小企业设备管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本中小企业设备管理系统采用Spring Boot框架&#xff0…

QT实时显示日志内容

性能有待提高; 能够读取指定目录下的日志文件,显示在下拉框中。 选择某一个日志之后,点击获取数据按钮,能够实时刷新日志内容。 但是每次刷新都会对整个文件进行读取,文本框重新加载文本。效率很低,影响性能…

Qt/C++ 调用迅雷开放下载引擎(ThunderOpenSDK)下载数据资源

目录导读 前言ThunderOpenSDK 简介参考 xiaomi_Thunder_Cloud 示例ThunderOpenSDK 下载问题 前言 在对以前老版本的exe执行程序进行研究学习的时候,发现以前的软件是使用的ThunderOpenSDK这个迅雷开放下载引擎进行的项目数据下载,于是在网上搜索一番找到…

八,Linux基础环境搭建(CentOS7)- 安装Mysql和Hive

Linux基础环境搭建(CentOS7)- 安装Mysql和Hive 大家注意以下的环境搭建版本号,如果版本不匹配有可能出现问题! 一、Mysql下载及安装 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Orac…

等保测评:塑造信息时代的新常态

随着信息技术的飞速发展,信息安全已经成为一个全球性的问题。在信息时代,数据的安全性、完整性和可用性对于个人、企业乃至国家都至关重要。等保测评(等级保护测评),作为信息安全领域的一项重要工作,其目的…

C++ 整型大数运算(大整数运算)项目

C 整型大数运算项目 一、项目介绍二、项目变量成员三、项目实现构造函数加法减法乘法先计算再进位边计算边进位 除法与取模判断输入输出 四、项目源代码展示在 Big_integer.h 中:在 Big_integer.cpp 中: 五、测试准确性六、优化方向 一、项目介绍 整型大…

C++,STL 051(24.10.28)

内容 1.map容器的构造函数。 2.map容器的赋值操作。 运行代码 #include <iostream> #include <map>using namespace std;void printMap(map<int, int> &m) {for (map<int, int>::iterator it m.begin(); it ! m.end(); it){cout << &quo…

JavaSE笔记2】面向对象

目录 一、深刻认识面向对象 二、对象在计算机中的执行原理 三、this 四、构造器 五、封装 六、实体Javabean(实体类) 1. 是什么&#xff1f; 2. 实体类用来干什么&#xff1f; 七、成员变量和局部变量的区别 一、深刻认识面向对象 二、对象在计算机中的执行原理 三、this Java中…

通俗直观介绍ChatGPT背后的大语言模型理论知识

“AI 的 iPhone 时刻到来了”。非算法岗位的研发同学’被迫’学习 AI&#xff0c;产品岗位的同学希望了解 AI。但是&#xff0c;很多自媒体文章要么太严谨、科学&#xff0c;让非科班出身的同学读不懂&#xff1b;要么&#xff0c;写成了科幻文章&#xff0c;很多结论都没有充分…

基于SpringBoot的“时间管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“时间管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 管理员功能界面图 系统管理界面图…

云计算平台上的DevOps实践

文章目录 什么是DevOps云计算平台上的DevOps优势自动化部署弹性伸缩地理分布 实施DevOps的关键组件版本控制系统持续集成/持续交付工具配置管理工具监控和日志管理 实践案例使用AWS CodePipeline进行持续集成/持续交付利用AWS Auto Scaling实现弹性使用AWS CloudFormation进行基…

嵌入式学习-网络-Day03

嵌入式学习-网络-Day03 1.linux下IO模型及特点 1.1阻塞式IO 1.2非阻塞式IO 设置非阻塞&#xff1a; 1&#xff09;通过函数参数设置 2&#xff09;通过fcntl函数设置文件描述符属性 1.3信号驱动IO&#xff08;异步IO&#xff09; 1.4IO多路复用&#xff08;重点&#xff09; IO…