【Spring Boot 教程:从入门到精通】掌握 Spring Boot 开发技巧与窍门(一)-java语法(1)

一些Java基本语法的基本介绍,语法更新结束会紧跟项目实战,后续会持续在该专栏进行更新!!!

目录

前言

一、基本概念

1.JDK、JRE、JVM的关系: 

2.JDK版本选择 

3.Java代码的编译运行流程

4.JSE、JEE、JME的区别 

二、Java语法

1.变量、运算符、输入与输出

1.1内置数据类型

1.2常量 

1.3类型转化 

1.4表达式

1.5输入

1.6输出

2.判断语句

1.if-else语句

2.switch语句

3.逻辑运算符与条件表达式

3.循环语句

 3.1while循环

3.2do while循环

3.3for循环

总结


前言

一些Java基本语法的基本介绍,语法更新结束会紧跟项目实战,后续会持续在该专栏进行更新!!!


提示:以下是本篇文章正文内容,下面案例可供参考

一、基本概念

1.JDK、JRE、JVM的关系: 

  • JDK:Java Development Kit,Java开发工具包
  • JRE: Java Runtime Environment,Java运行环境
  • JVM:Java Virtual Machine,Java虚拟机
  • JDK包含JRE,JRE包含JVM 

2.JDK版本选择 

  • 目前JDK1.8(也叫JDK8,注意不是JDK18)用得最多
     

3.Java代码的编译运行流程

  •  将Java源码编译成Java字节码。
  • 使用JVM将Java字节码转化成机器码。
  • JVM作用:跨平台、内存管理、安全。

4.JSE、JEE、JME的区别 

  • JSE: Java Standard Edition,标准版
  • JEE:Java Enterprise Edition,企业版
  • JME: Java Mirco Edition,移动版
  • Spring是JEE的轻量级替代品
  • SpringBoot是Spring + 自动化配置 

二、Java语法

1.变量、运算符、输入与输出

类似于C#,Java的所有变量和函数都要定义在class中。

1.1内置数据类型

类型字节数    举例
byte1123
short212345
int4123456789
long81234567891011L
float41.2F
double81.2, 1.2D
boolean    1true,false
char2'A'

1.2常量 

使用final修饰:

final int N = 110;

1.3类型转化 

  • 显示转化:int x = (int)'A';
  • 隐式转化:double x = 12, y = 4 * 3.3;

1.4表达式

int a = 1, b = 2, c = 3;
int x = (a + b) * c;
x ++;

1.5输入

 方式1,效率较低,输入规模较小时使用。

Scanner sc = new Scanner(System.in);
String str = sc.next();  // 读入下一个字符串
int x = sc.nextInt();  // 读入下一个整数
float y = sc.nextFloat();  // 读入下一个单精度浮点数
double z = sc.nextDouble();  // 读入下一个双精度浮点数
String line = sc.nextLine();  // 读入下一行

 方式2,效率较高,输入规模较大时使用。注意需要抛异常。


import java.io.BufferedReader;
import java.io.InputStreamReader;public class Main {public static void main(String[] args) throws Exception {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String str = br.readLine();System.out.println(str);}
}

1.6输出

 方式1,效率较低,输出规模较小时使用。

System.out.println(123);  // 输出整数 + 换行
System.out.println("Hello World");  // 输出字符串 + 换行
System.out.print(123);  // 输出整数
System.out.print("hcy\n");  // 输出字符串
System.out.printf("%04d %.2f\n", 4, 123.456D);  // 格式化输出,float与double都用%f输出

方式2,效率较高,输出规模较大时使用。注意需要抛异常。 

import java.io.BufferedWriter;
import java.io.OutputStreamWriter;public class Main {public static void main(String[] args) throws Exception {BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));bw.write("Hello World\n");bw.flush();  // 需要手动刷新缓冲区}
}

2.判断语句

1.if-else语句

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int year = sc.nextInt();if (year % 100 == 0) {if (year % 400 == 0)System.out.printf("%d是闰年\n", year);elseSystem.out.printf("%d不是闰年\n", year);} else {if (year % 4 == 0)System.out.printf("%d是闰年\n", year);elseSystem.out.printf("%d不是闰年\n", year);}}
}

 

2.switch语句

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int day = sc.nextInt();String name;switch (day) {case 1:name = "Monday";break;case 2:name = "Tuesday";break;case 3:name = "Wednesday";break;case 4:name = "Thursday";break;case 5:name = "Friday";break;case 6:name = "Saturday";break;case 7:name = "Sunday";break;default:name = "not valid";}System.out.println(name);}
}

 

3.逻辑运算符与条件表达式

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int year = sc.nextInt();if (year % 100 != 0 && year % 4 == 0 || year % 400 == 0)System.out.printf("%d是闰年\n", year);elseSystem.out.printf("%d不是闰年\n", year);}
}

3.循环语句

 3.1while循环

int i = 0;
while (i < 5) {System.out.println(i);i ++ ;
}

3.2do while循环

int i = 0;
do {System.out.println(i);i ++ ;
} while (i < 5);

 do while语句与while语句非常相似。唯一的区别是,do while语句限制性循环体后检查条件。不管条件的值如何,我们都要至少执行一次循环。

3.3for循环

for (int i = 0; i < 5; i ++ ) {  // 普通循环System.out.println(i);
}int[] a = {0, 1, 2, 3, 4};
for (int x: a) {  // forEach循环System.out.println(x);
}

总结

一些Java基本语法的基本介绍,语法更新结束会紧跟项目实战,后续会持续在该专栏进行更新!!!

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

SolidWorks滚花螺栓制作-cnblog

目标 规划基准图形 确定尺寸&#xff0c;单位mm 我 对固定好的图形进行旋转 倒角 设置螺纹 注意改变深度为15mm 收尾位置补全 滚花 建立基准面 制作多边形 添加穿透 扫描切除 圆周阵列 成品完成

[AI 快手 LivePortrait] 引领高效肖像动画新时代

快手推出了 LivePortrait&#xff0c;具有拼接和重定向控制的高效肖像动画。 快速开始 下载代码&#xff0c;准备环境 git clone https://github.com/KwaiVGI/LivePortrait cd LivePortrait# create env using conda conda create -n LivePortrait python3.9.18 conda activ…

Data-Juicer:阿里巴巴荣誉出品的大模型数据清洗框架

Diffusion Models专栏文章汇总:入门与实战 前言:如何优雅地进行大规模数据清洗是一门艺术,特别对于大模型,数据的质量是决定模型成功最关键的因素之一。阿里巴巴最近开源了一项专门针对大语言模型和视频生成大模型的数据清洗框架,值得关注! 目录 主要特点 数据处理 分…

移动校园(9):uniapp照片上传,以及从nodejs服务器获取照片

后端&#xff1a; 安装中间件multer,刚好对应前端提交数据 npm install --save multer Multer详解&#xff08;Node.js中间件&#xff09;-CSDN博客 一直这样 又看了二个小时&#xff0c;搜遍全网&#xff0c;改了又改&#xff0c;各种测试&#xff0c;终于让我发现了问题&a…

什么是数据同步服务RSYNC?

大家好呀&#xff01;这里是码农后端。今天来介绍一下数据同步服务RSYNC&#xff0c;作为Linux/Unix系统中远程或本地复制同步&#xff08;复制&#xff09;文件和目录最常用的命令&#xff0c;相比于scp命令&#xff0c;其具有增量备份、数据同步时保持文件的原有属性等优点。…

制作电子名片的小程序系统源码 快速生成电子名片

在当今数字化时代&#xff0c;传统的纸质名片已逐渐被智能电子名片所取代。电子名片小程序作为一种基于微信生态的创新名片交换方式&#xff0c;凭借其便捷性、高效性和环保性&#xff0c;成为了众多商务人士的首选。小编分享一个制作电子名片的小程序系统源码&#xff0c;无忧…

GitHub 站点打不开

遇到的问题 您是否遇到过GitHub网站打不开的情况&#xff0c;正如下图所示&#xff1a; 解决方案 以下是一些常见的解决方案&#xff1a; 1. 检查网络连接 确保你的设备已连接到互联网。尝试访问其他网站&#xff0c;确保不是你的网络问题。 C:\Vinca>ping github.…

Groovy vs Kotlin 在Gradle配置文件中的差异与选择

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

ArkUI开发学习随机——B站视频简介页面,美团购买界面

案例一&#xff1a;B站视频简介页面 代码&#xff1a; build() {Column(){Column(){Stack(){Image($r("app.media.genimpact")).width(200).height(125).borderRadius({topLeft:5,topRight:5})Row(){Image($r("app.media.bz_play")).height(24).fillColor…

【独家揭秘】视频号矩阵系统火爆上线,一键式多平台管理,你的内容营销神器!

在信息爆炸的时代&#xff0c;内容创作者们面临着前所未有的挑战与机遇。如何让自己的内容在众多平台中脱颖而出&#xff0c;快速传播并吸引大量观众&#xff0c;成为了每个创作者关注的焦点。近日&#xff0c;一款名为“迅狐视频号矩阵系统”的神器震撼来袭&#xff0c;它以其…

全面解析BPMN、CMMN、DMN与XML

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 &#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 全面解析BPMN、CMMN、DMN与XML 前言BPMN&#xff08;业务流程模型与标记法&#xff09;定义与用途…

【Python】已解决:SyntaxError invalid syntax

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;SyntaxError invalid syntax 一、分析问题背景 在Python编程中&#xff0c;SyntaxError: invalid syntax是一个常见的错误&#xff0c;它通常表示代码中存在语法…

GLM4大模型微调入门实战-命名实体识别(NER)任务

[GLM4]是清华智谱团队最近开源的大语言模型。 以GLM4作为基座大模型&#xff0c;通过指令微调的方式做高精度的命名实体识别&#xff08;NER&#xff09;&#xff0c;是学习入门LLM微调、建立大模型认知的非常好的任务。 显存要求相对较高&#xff0c;需要40GB左右。 知识点1&…

【Python】已解决:ModuleNotFoundError: No module named ‘pip‘(重新安装pip的两种方式)

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例 四、重新安装pip的两种方式方式一&#xff1a;使用get-pip.py脚本方式二&#xff1a;使用ensurepip模块五、注意事项 已解决&#xff1a;ModuleNotFoundError: No module named ‘pip’&#xff08;重新安装pip的…

30. 01背包问题 二维,01背包问题 一维,416.分割等和子集

背包问题分类&#xff1a; 1、确定dp数组以及下标的含义对于背包问题&#xff0c;有一种写法&#xff0c; 是使用二维数组&#xff0c;即dp[i][j] 表示从下标为[0-i]的物品里任意取&#xff0c;放进容量为j的背包&#xff0c;价值总和最大是多少。2、确定递推公式&#xff0c;…

护佑未来!引领儿童安全新时代的AI大模型

引领儿童安全新时代的AI大模型 一. 前言1.1 AI在儿童安全方面的潜在作用1.2 实时监控与预警1.3 个性化安全教育与引导1.4 家长监护与安全意识提升 二. AI大模型的优势2.1. 保护儿童隐私和安全的重要性2.2. AI大模型如何应用于儿童安全领域2.1 儿童内容过滤2.2.1 儿童行为监测 2…

Redis实战—秒杀优化(Redis消息队列)

回顾 我们回顾一下前文下单的流程&#xff0c;当用户发起请求&#xff0c;此时会请求nginx&#xff0c;nginx会访问到tomcat&#xff0c;而tomcat中的程序&#xff0c;会进行串行操作&#xff0c;分成如下几个步骤。 1、查询优惠卷 2、判断秒杀库存是否足够 …

简要描述C++ Memory Order

现代CPU基本都是多核CPU&#xff0c;基本都具备多线程能力。而涉及到多线程一定会涉及到多线程共享资源数据竞争的问题。如果对竞争资源不加以保护或者针对多线程访问的管理就会出现不同线程读取数据不一致或者更加严重的问题。C标准库提供了互斥锁&#xff08;std::mutex&…

利用外部知识增强的LEMMA模型:提升多模态虚假信息检测的LVLM方法

LEMMA: Towards LVLM-Enhanced Multimodal Misinformation Detection with External Knowledge Augmentation https://arxiv.org/abs/2402.11943https://arxiv.org/abs/2402.11943 1.概述 多模态虚假信息通过综合文字、图像和视频等多元化形式,在社交平台上的传播过程中,相…

BN的 作用

1、背景&#xff1a; 卷积神经网络的出现&#xff0c;网络参数量大大减低&#xff0c;使得几十层的深层网络成为可能。然而&#xff0c;在残差网络出现之前&#xff0c;网络的加深使得网络训练变得非常不稳定&#xff0c;甚至出现网络长时间不更新或者不收敛的情形&#xff0c;…