JAVA基础知识

news/2024/4/29 10:15:50/文章来源:https://blog.csdn.net/weixin_46627433/article/details/126722471

JAVA基础知识

  • 目录
    • IDEA快捷键
      • 简洁语法
      • Ctrl+Alt+Shift操作
      • 其他常用操作
    • JAVA基础知识
      • 注释
      • 字面量
      • 变量
      • 数据类型
      • 关键字
      • 标识符
      • 类型转换
        • 自动类型转换
        • 表达式的自动类型转换
        • 强制类型转换
      • 运算符
        • 算数运算符
        • +符号做连接符
        • 自增自减运算符
        • 关系运算符和逻辑运算符
        • 三元运算符
        • 运算符优先级
      • 数组
        • 数组的静态初始化
        • 数组的动态初始化
        • 数组的遍历
      • 程序设计结构
        • 顺序结构
        • 分支结构
        • 循环结构
      • 跳转关键字
      • debug工具
      • 方法
        • 方法的定义和调用
        • 方法的重载
        • 方法详解链接
    • API
      • Scanner
      • Random

目录

IDEA快捷键

简洁语法

"hello world".sout
结果:System.out.println("hello world");

Ctrl+Alt+Shift操作

  • Ctrl + D 复制当前行到下一列
  • Ctrl + Alt + L 格式化代码,可以对当前文件和整个包目录使用 (必备)
  • Ctrl + Y 删除光标所在行 或 删除选中的行 (必备)
  • Alt + Shift + 前方向键 移动光标所在行向上移动
  • Alt + Shift + 后方向键 移动光标所在行向下移动
  • Ctrl + Shift + / 代码块注释 (必备)

更多内容:快捷键大全

其他常用操作

在这里插入图片描述
重点:手把手教你IDEA中模块的导入和删除

JAVA基础知识

注释

注释是对程序语言的说明,有助于开发者和用户之间的交流,方便理解程序。注释不是编程语句,因此被编译器忽略。

  • 单行注释
    在这里插入图片描述

  • 多行注释
    在这里插入图片描述

  • 文档注释
    在这里插入图片描述

字面量

软件在处理数据之前要能够表示数据。在Java中,数据被称为“字面量”

在这里插入图片描述
举例如下图:

    public static void main(String[] args) {//1.0整数System.out.println("66");System.out.println("-23");//2.0小数System.out.println("0.1");//3.0字符System.out.println('\n');//换行System.out.println('\t');//空格System.out.println('a');//4.0字符串System.out.println("");System.out.println("我爱你中国");System.out.println("string");//5.0bool类型System.out.println(true);System.out.println(false);//6.0空值(NULL)}

变量

变量是存储数据值的容器。
在 Java 中,有不同类型的变量,例如:
String- 存储文本,例如“hello”。字符串值用双引号括起来
int - 存储整数(整数),不带小数,例如 123 或 -123
float - 存储带小数的浮点数,例如 19.99 或 -19.99
char- 存储单个字符,例如 ‘a’ 或 ‘B’。Char 值用单引号括起来
boolean - 存储具有两种状态的值:真或假

  • 变量定义的格式
数据类型 变量名称=初始值;
例如:
int a, b, c;         // 声明三个int型整数:a、 b、c
int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值
byte z = 22;         // 声明并初始化 z
String s = "runoob";  // 声明并初始化字符串 s
double pi = 3.14159; // 声明了双精度浮点型变量 pi
char x = 'x';        // 声明变量 x 的值是字符 'x'

数据类型

在这里插入图片描述
基本数据类型(8个),也称原始数据类型:
在这里插入图片描述

关键字

Java中的关键字有哪些?

148个关键字:abstract、assert、boolean、break、byte、casecatchcharclasscontinuedefaultdodoubleelseenum、extends、final、finally、floatforif、implements、importint、interface、instanceof、long、native、new、package、privateprotectedpublicreturnshortstatic、strictfp、super、switch、synchronized、thisthrow、throws、transient、tryvoidvolatilewhile22个保留字(现在没用以后可能用到作为关键字):gotoconst33个特殊直接量:truefalse、null。 

更多内容:Java中53个关键字的意义及使用方法

标识符

在这里插入图片描述

类型转换

自动类型转换

类型范围小的变量,可以直接赋值给类型范围大的变量。

例如:

byte a=1;
int b=a;//此时发生自动类型转换

其他形式:

byte->short->int/char->long->float->double

表达式的自动类型转换

在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算。

具体形式:

byte、shortchar->int->long->float->double

注意事项:

  • 表达式的最终结果类型由表达式中的最高类型决定。
  • 在表达式中,byte、short、char是直接转换成int类型参与运算的。

强制类型转换

可以强行将类型范围大的变量、数据赋值给类型范围小的变量。

语法格式:

数据类型 变量2 = (数据类型)变量1、数据

例如:

int a=12;
byte b=(byte) a; 

注意事项:

  • 强制类型转换可能造成数据(丢失)溢出;
  • 浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。

底层实现原理:
在这里插入图片描述

运算符

运算符是对常量或者变量进行操作的符号

算数运算符

在这里插入图片描述
其中特别注意计算机中的/和数学中的不一致!!!

应用:1004: 三位数的数位分离
思路:
在这里插入图片描述

+符号做连接符

+符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串

特点:
能算则算,不能算就在一起

例如:

代码如下:System.out.println("abc"+"a");System.out.println("abc"+'a');System.out.println('a'+5);System.out.println("abc"+5+'a');System.out.println(5+"abc"+5);
输出结果:
abca
abca
102
abc5a
5abc5

自增自减运算符

在这里插入图片描述

关系运算符和逻辑运算符

  • 关系运算符
    在这里插入图片描述
  • 逻辑运算符
    在这里插入图片描述
    注意:逻辑与 “&” 、逻辑或“|”: 无论左边是 false还是 true,右边都要执行

三元运算符

  • 格式:条件表达式?值1:值2;
  • 执行流程:
    首先计算关系表达式的值,如果值为true,返回值1,如果为false,返回值2

运算符优先级

在这里插入图片描述

数组

数组的静态初始化

数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3… };

例如:

int[] a = new int[]{1,2,3,4};
double b = new double[]{1.0,2.0,3.0};

简化:

int[] a = {1,2,3,4};

注意事项

  • 数组的长度:arr.length//arr为数组名
  • “数据类型[] 数组名”也可以写成 “数据类型 数组名[] ”。

数组的动态初始化

动态初始化:只指定数组长度,后期赋值,适合开始知道数据的数量,但是不确定具体元素值的业务场景。

格式:

数据类型[] 数组名= new 数据类型[长度];

例如:

int[] a = new int[3];

默认值:
在这里插入图片描述

注意:两种初始化方式不能混用!!!

数组的遍历

遍历:就是一个一个数据的访问。

例如:

    public static void main(String[] args) {int[] a = {1,2,3,4};for(int i=0;i<a.length;i++){System.out.println(a[i]);}}

程序设计结构

顺序结构

顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
总的来说:程序按照从上到下的顺序执行。

在这里插入图片描述
例如:

public class Order {public static void main(String[] args) {System.out.println(1);System.out.println(2);System.out.println(3);}
}

分支结构

根据条件,选择性地执行某段代码。
有if…else和switch-case两种分支语句

在这里插入图片描述

  • if结构
    在这里插入图片描述

例如:

    public static void main(String[] args) {Scanner sn = new Scanner(System.in);int a = sn.nextInt();if(a<=10){System.out.println(a);}else{System.out.println(a + 1);}}输入:5输出:5输入:11输出:12
  • switch结构
    在这里插入图片描述

例如:

    public static void main(String[] args) {Scanner sn = new Scanner(System.in);int a = sn.nextInt();switch(a){case 10:System.out.println(a);break;case 12:System.out.println(a + 1);break;default:System.out.println("-1");}}输入:5 输出:-1输入:10 输出:10输入:12 输出:13输入:6 输出:-1

注意事项:

  • 表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String、不支持double、float、long。
  • case给出的值不允许重复,且只能是字面量,不能是变量。
  • 不要忘记写break,否则会出现穿透现象。

循环结构

在一定条件下,可以重复执行某些语句

在这里插入图片描述

  • for结构

在这里插入图片描述
例如:

    public static void main(String[] args) {for(int i=1;i<=3;i++){System.out.println("hello world");}}执行结果:hello worldhello worldhello world    
  • while结构
    在这里插入图片描述

例如:

    public static void main(String[] args) {int i=1;while(i<=3){System.out.println("hello world");i++;}}执行结果:hello worldhello worldhello world    

跳转关键字

  • break

跳出并结束当前所在循环的执行
只能用于结束所在循环,或者结束所在switch分支的执行

例如:

public class test {public static void main(String[] args) {for (int i = 1; i < 10; i++){System.out.println(i);if (i == 3){break;}}}
}
执行结果:
1
2
3
  • continue

用于跳出当前循环的当次执行,进入下一次循环
只能在循环中进行使用

例如:

    public static void main(String[] args) {for (int i = 1; i < 10; i++){if (i == 3){continue;}System.out.println(i);}}
执行结果:
1
2
4
5
6
7
8
9

debug工具

IDEA自带的断点调试(排错)工具,可以控制代码从断点开始一行一行的执行,然后详细观看程序执行的情况

在这里插入图片描述

方法

方法是一种语法结构,它可以把一段代码封装成一个功能,以方便重复调用。

方法的定义和调用

方法定义的完整格式:

修饰符 返回值类型 方法名(形参列表){方法体代码(需要执行的功能代码)return返回值;
}

例如:

    public static int sum(int a,int b){return a+b;}

调用格式:

方法名(....);

例如:

    public static int sum(int a,int b){return a+b;}public static void main(String[] args) {int a=1,b=2;int s = sum(a,b);System.out.println(s);}

方法的重载

同一个类中,出现多个方法名称相同,但是形参列表是不同的,那么这些方法就是重载方法。

例如:同一函数名,不同的参数和返回格式

    public static void main(String[] args) {System.out.println(add(2,2));System.out.println(add(2.5,3.5));System.out.println(add(2.5,3.5,4.5));}public static int add(int x,int y) {return x+y;}public static double add(double x,double y){return x+y;}public static double add(double x,double y,double z){return x+y+z;}

方法详解链接

补充内容:方法内容详解

API

定义:指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来

Scanner

键盘输入功能

例如:

输入整数:Scanner sn = new Scanner(System.in);int a = sn.nextInt();
输入字符串:Scanner sn = new Scanner(System.in);String a = sn.next();

Random

作用:用于在程序中获取随机数的技术

例如:产生0-9的随机数

    public static void main(String[] args) {Random r = new Random();int number = r.nextInt(10)+0;//0改为1,结果就是1-10的随机数System.out.println(number);}

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

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

相关文章

Code For Better 谷歌开发者之声——Flutter - Google 开源的移动 UI 框架

写在前面 如今&#xff0c;人们都希望自己手机里的应用又漂亮的设计&#xff0c;顺滑的动画以及优异的功能&#xff0c;为了做到这些&#xff0c;开发者们需要在不妥协质量和性能的前提下&#xff0c;更快速地推进新功能的研发&#xff0c;这就是Flutter的核心。 文章目录写在前…

【转】VS2019 安装完成之后再安装其它功能模块组件安装

VisualStudio2019安装完成之后,由于开发需求需要安装其它模块或组件,点击工具,选择获取工具和功能,进行选择安装。 做个笔记随笔记录一下。选择需要的模块进行即可。【转自】https://www.cnblogs.com/jiayan1578/p/13665423.html

网络抖动了解

转自:https://blog.csdn.net/W_317/article/details/112801222, https://zhuanlan.zhihu.com/p/403614008 1.网络抖动 指网络中的延迟是指信息从发送到接收经过的延迟时间,一般由传输延迟及处理延迟组成; 抖动=最大延迟-最小延迟 如访问一个网站的最大延迟是20毫秒,最小延迟…

【转载】预测算法--时间序列(ARIMA)模型

ARIMA:AutoregressiveIntegratedMovingAverage model。自回归差分移动平均模型(p,d,q),可以说AR自回归模型,MA移动平均模型,ARMA自回归移动平均模型都是ARIMA的特殊形式. 时间序列模型一般性步骤包括:1. 数据平稳性检验;2. 确定模型参数;3. 构建时间序列模型;4.模型预测…

STM32二十:OLED和LCD

一.概述 1.OLED介绍 1 //OLED的显存2 //存放格式如下.3 //[0]0 1 2 3 ... 127 4 //[1]0 1 2 3 ... 127 5 //[2]0 1 2 3 ... 127 6 //[3]0 1 2 3 ... 127 7 //[4]0 1 2 3 ... 127 8 //[5]0 1 2 3 ... 127 9 //[6]0 1 2 3 ... 127 10 //[7]0 1 2 3 ... 127 …

一.xv6环境搭建

内容大致来源:1.视频教程:https://space.bilibili.com/16765968/channel/collectiondetail?sid=86878 2.文档:https://tarplkpqsm.feishu.cn/docs/doccnoBgv1TQlj4ZtVnP0hNRETd#W8iZmH一.windows升级为专业版注意:docker支持Windows 10 操作系统专业版,所以要升级windows…

【ASP.NET Core】自定义Session的存储方式

在开始今天的表演之前,老周先跟大伙伴们说一句:“中秋节快乐”。 今天咱们来聊一下如何自己动手,实现会话(Session)的存储方式。默认是存放在分布式内存中。由于HTTP消息是无状态的,所以,为了让服务器能记住用户的一些信息,就用到了会话。但会话数据毕竟是临时性的,不…

MySQL-3-多表查询和事务(结合案例学习)

我们之前在讲解SQL语句的时候&#xff0c;讲解了DQL语句&#xff0c;也就是数据查询语句&#xff0c;但是之前讲解的查询都是单表查询&#xff0c;而本章节我们要学习的则是多表查询操作&#xff0c;主要从以下几个方面进行讲解。 多表查询多表查询多表关系分类连接查询内连接隐…

【数据结构】绪论

文章目录 1. 绪论 1.1 概述 1.2 数据与数据结构 1.2.1 术语 1.2.2 逻辑结构 1.2.3 存储结构&#xff1a; 1.2.4 数据操作&#xff1a; 1.3 算法 1.3.1 算法特性 1.3.2 算法目标 1.3.3 算法分析&#xff1a;概述 1.3.4 算法分析&#xff1a;时间复杂度&#xff08;大…

Markdown笔记软件之 Obsidian

我使用过什么markdown笔记软件了解自己的需求 Markdown 语法简洁vscode内置 markdown 插件,预览等 snippet(摘要功能)自定义代码片段typero实时渲染,所见即所得 美观缺点不适合我个人 收费 不支持打标签 tag 放弃:解决不了我的痛点(全键盘),收费 不支持移动端joplin支持 v…

模拟用户登录功能的实现以及演示SQL注入现象

模拟用户登录功能的实现以及演示SQL注入现象 /* 实现功能&#xff1a;1、需求&#xff1a;模拟用户登录功能的实现。2、业务描述&#xff1a;程序运行的时候&#xff0c;提供一个输入的入口&#xff0c;可以让用户输入用户名和密码用户输入用户名和密码之后&#xff0c;提交信息…

Day07__面向对象

面向对象 什么是面向对象回顾方法的定义 package objectOriented;import java.io.IOException;//回顾方法的定义 public class Demo01 {public static void main(String[] args) {}public static String sayHello(){return "Hello,World!";}public int max(int a,int…

Deno 会取代NodeJS吗?

目标:了解Deno的学习价值和前景。 从下面几个维度进行分析 成熟度 Node已经在大量商业应用中,Deno只是还在商业试验阶段 生态 Node已经有丰富的生态,包含各种框架和库,并且都已经广泛应用Deno的框架和库基本上都是刚刚起步 学习成本 如果你已经了解Node,Deno也还是需要不…

基于蜜蜂算法求解电力系统经济调度(Matlab代码实现)

目录 1 蜜蜂优化算法 1.1 蜂群觅食机制 1.2 蜜蜂算法 1.3 流程 2 经济调度 3 运行结果 4 Matlab代码及文章 5 参考文献 6 写在最后 1 蜜蜂优化算法 蜜蜂算法( Bees Algorithm&#xff0c;BA) 由英国学者 AfshinGhanbarzadeh 和他的研究小组于 2005 年提出。该算法是一…

element table 列头和行高调整

1、行高调整<el-table :row-style="{height:0}"></el-table>2、列头高度调整<el-table :header-cell-style="{padding:0}" :row-style="{height:0}"></el-table>

都这麽大了还不了解防火墙?

目录 一、思考 二、实验 三、过程 1、实验拓扑 2、cloud-IO配置 3、防火墙配置 3.1 登录防火墙 4、区域划分 方法一 方法二 4.1 内网划分 4.2 各区域网关 4.3 区域配置 5、防火墙策略 5.1 允许-回程路由&#xff08;内网~外网&#xff09; 5.2 禁止-新建策略…

AI作画飞入平民百姓家——stable diffusion初体验

1. 前言 stable_diffusion来了&#xff0c;这个号称是最强的民用文本生成图片的模型它来了&#xff0c;相比较DAEE等大模型&#xff0c;它能够让我们消费级的显卡也能够实现文本到图像的生成。下面&#xff0c;我们也来试一下。 2. 准备过程 该服务器上必须要有的基础工具an…

[基于瑞芯微RV1126调试RTL8818FU WIFI模组支持STA和AP模式]

基于瑞芯微RV1126调试RTL8818FU WIFI模组支持STA和AP模式内核menuconfig配置内核dts配置文件系统配置和更改驱动编译wifi工具编译libnl库编译openssl编译wpa_supplicant编译hostapd编译开机运行脚本测试WIFI—STA模式运行脚本测试WIFI-AP模式内核menuconfig配置 CONFIG_NETFIL…

高光谱图像分类简述+《Deep Learning for Hyperspectral Image Classification: An Overview》综述论文笔记

论文题目《Deep Learning for Hyperspectral Image Classification: An Overview》 论文作者:Shutao Li, Weiwei Song, Leyuan Fang,Yushi Chen, Pedram Ghamisi,Jn Atli Benediktsson 论文发表年份:2019 一、高光谱简述高光谱成像是一项重要的遥感技术,它采集了从…

SQL server 2008 安装教程

SQL server 2008 安装教程 1. 安装 SQL server 2008 的主要步骤如下 1.1 点击 setup.exe1.2 选中 “安装”&#xff0c;并点击右边的 “全新 SQL sever 独立或向现有安装添加功能1.3 重启电脑&#xff0c;再找到安装程序 “setup.exe” 重复上面的步骤1.4 输入产品秘钥 “JD8Y…