JAVA零基础学习1(CMD、JDK、环境变量、变量和键盘键入、IDEA)
JAVA零基础学习1(CMD、JDK、环境变量、变量和键盘键入、IDEA)
- CMD常见命令
- 配置环境变量
- JDK的下载和安装
- 变量
- 变量的声明和初始化
- 声明变量
- 初始化变量
- 变量的类型
- 变量的作用域
- 变量命名规则
- 示例代码
- 键盘键入
- 使用 `Scanner` 类读取输入
- 步骤
- 示例代码
- 常用方法
- 处理输入异常
- 示例代码
- 使用 `BufferedReader` 读取输入
- 示例代码
- 选择合适的输入方法
- IDEA项目结构介绍
CMD常见命令

配置环境变量
为什么要配置环境变量?
我们想要在任意的目录下都可以打开指定的软件。就可以把软件的路径配置到环境变量中。
JDK的下载和安装
Java JDK下载安装及环境配置超详细图文教程
下载完成后打开环境所在文件夹,可以看到一下新生成的各种文件,下图是他们对应的内容和功能。


变量
在Java编程中,变量是用于存储数据的容器。每个变量都有一个特定的数据类型和一个名称。以下是关于Java变量的详细介绍:
变量的声明和初始化
声明变量
在Java中,声明一个变量需要指定变量的数据类型和名称。例如:
int age;
double salary;
String name;
初始化变量
声明变量后,你可以为其赋值。你也可以在声明的同时进行初始化:
int age = 25;
double salary = 50000.0;
String name = "John Doe";
变量的类型
Java中的变量可以是以下几种类型:
- 基本数据类型(Primitive Types)
byte:8位整数,范围:-128到127。short:16位整数,范围:-32,768到32,767。int:32位整数,范围:-231到231-1。long:64位整数,范围:-263到263-1。float:32位单精度浮点数。double:64位双精度浮点数。char:16位字符,表示单个Unicode字符。boolean:布尔值,只有两个取值:true或false。
整数和小数取值范围大小关系:
double > float > long > int > short > byte
byte a = 100;
short b = 10000;
int c = 100000;
long d = 100000L;
float e = 10.5f;
double f = 20.5;
char g = 'A';
boolean h = true;
如果要定义long类型的变量
在数据值的后面需要加一个L作为后缀
L可以是大写的,也可以是小写的。
建议:使用大写。
注意点:定义float类型变量的时候
数据值也需要加一个F作为后缀
- 引用数据类型(Reference Types)
- 类(Class)
- 接口(Interface)
- 数组(Array)
String str = "Hello, World!";
int[] numbers = {1, 2, 3, 4, 5};
变量的作用域
变量的作用域决定了变量在哪些部分的代码中是可见的和可访问的。主要有以下几种作用域:
-
局部变量(Local Variables)
局部变量是在方法、构造函数或代码块中声明的变量。它们只能在声明它们的块中访问。public void myMethod() {int x = 10; // 局部变量System.out.println(x); } -
成员变量(Instance Variables)
成员变量是在类中声明的变量,但在方法、构造函数或代码块之外。它们在类的每个实例中都有一个副本。public class MyClass {int x = 5; // 成员变量public void display() {System.out.println(x);} } -
类变量(Class Variables)
类变量使用static关键字声明,它们在类的所有实例中共享一个副本。public class MyClass {static int y = 10; // 类变量public void display() {System.out.println(y);} }
变量命名规则
- 变量名必须以字母(a-z或A-Z)、美元符号($)或下划线(_)开头。
- 变量名可以包含字母、数字、美元符号和下划线,但不能包含空格。
- 变量名区分大小写(
age和Age是不同的变量)。 - 避免使用Java关键字作为变量名。
小驼峰命名法:方法、变量
规范1:标识符是-一个单词的时候,全部小写
范例1: name
规范2:标识符由多个单词组成的时候,第一个单
词首字母小写,其他单词首字母大写.
范例2: firstName
大驼峰命名法:类名
规范1:标识符是一一个单词的时候,首字母大写
范例1: Student
规范2:标识符由多个单词组成的时候,每个单词
的首字母大写
范例2: GoodStudent
示例代码
public class VariableExample {// 成员变量int instanceVar = 50;// 类变量static int staticVar = 100;public void display() {// 局部变量int localVar = 25;System.out.println("局部变量: " + localVar);System.out.println("成员变量: " + instanceVar);System.out.println("类变量: " + staticVar);}public static void main(String[] args) {VariableExample example = new VariableExample();example.display();}
}
键盘键入
在Java中,可以通过多种方式从键盘读取用户输入。最常用的方式是使用 Scanner 类。以下是详细的步骤和示例代码:
使用 Scanner 类读取输入
步骤
-
导入
Scanner类- 在程序的开始部分导入
java.util.Scanner包。
- 在程序的开始部分导入
-
创建
Scanner对象- 使用
System.in作为参数创建Scanner对象。
- 使用
//1.导包,找到Scanner这个类在哪
//书写要注意:要写在类定义的上面
import java.util.Scanner;public class HelloWorld
{//主入口
public static void main (String[] agrs)
{ //2、创建对象,表示我现在准备要用Scanner这个类Scanner sc=new Scanner(System.in);//3、接收数据并赋值给i;int i=sc.nextInt();System. out . println(i);
}
}
- 读取输入
- 使用
Scanner类的各种方法读取不同类型的输入,例如nextLine()读取字符串,nextInt()读取整数,nextDouble()读取浮点数等。
- 使用
示例代码
import java.util.Scanner;public class UserInputExample {public static void main(String[] args) {// 创建 Scanner 对象Scanner scanner = new Scanner(System.in);// 读取字符串输入System.out.print("请输入您的名字: ");String name = scanner.nextLine();System.out.println("您的名字是: " + name);// 读取整数输入System.out.print("请输入您的年龄: ");int age = scanner.nextInt();System.out.println("您的年龄是: " + age);// 读取浮点数输入System.out.print("请输入您的体重: ");double weight = scanner.nextDouble();System.out.println("您的体重是: " + weight);// 关闭 Scanner 对象scanner.close();}
}
常用方法
nextLine(): 读取整行输入(包括空格)。next(): 读取下一个单词(以空格、换行或制表符为分隔)。nextInt(): 读取整数。nextDouble(): 读取双精度浮点数。nextBoolean(): 读取布尔值(true或false)。nextFloat(): 读取单精度浮点数。nextLong(): 读取长整数。
处理输入异常
在读取输入时,可能会遇到输入不匹配的异常(例如用户输入非整数时调用 nextInt())。可以使用异常处理来捕获和处理这些情况。
示例代码
import java.util.Scanner;
import java.util.InputMismatchException;public class UserInputExampleWithExceptionHandling {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);try {System.out.print("请输入您的年龄: ");int age = scanner.nextInt();System.out.println("您的年龄是: " + age);} catch (InputMismatchException e) {System.out.println("输入的不是一个有效的整数!");}scanner.close();}
}
使用 BufferedReader 读取输入
除了 Scanner 类,还可以使用 BufferedReader 和 InputStreamReader 组合来读取输入。
示例代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class BufferedReaderExample {public static void main(String[] args) {// 创建 BufferedReader 对象BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));try {// 读取字符串输入System.out.print("请输入您的名字: ");String name = reader.readLine();System.out.println("您的名字是: " + name);// 读取整数输入System.out.print("请输入您的年龄: ");int age = Integer.parseInt(reader.readLine());System.out.println("您的年龄是: " + age);} catch (IOException e) {System.out.println("读取输入时发生错误!");} catch (NumberFormatException e) {System.out.println("输入的不是一个有效的整数!");}}
}
选择合适的输入方法
Scanner类: 更加直观和简单,适合大多数情况下的输入读取。BufferedReader: 更加高效,适合读取大量数据或对性能要求较高的场合。
通过这些方法,你可以在Java程序中轻松实现从键盘读取用户输入的功能。
IDEA项目结构介绍
【附安装包】IDEA下载、安装、配置与使用(保姆级教程)
四层结构

相关文章:
JAVA零基础学习1(CMD、JDK、环境变量、变量和键盘键入、IDEA)
JAVA零基础学习1(CMD、JDK、环境变量、变量和键盘键入、IDEA) CMD常见命令配置环境变量JDK的下载和安装变量变量的声明和初始化声明变量初始化变量 变量的类型变量的作用域变量命名规则示例代码 键盘键入使用 Scanner 类读取输入步骤示例代码 常用方法处…...
Redis的安装配置及IDEA中使用
目录 一、安装redis,配置redis.conf 1.安装gcc 2.将redis的压缩包放到指定位置解压 [如下面放在 /opt 目录下] 3.编译安装 4.配置redis.conf文件 5.开机自启 二、解决虚拟机本地可以连接redis但是主机不能连接redis 1.虚拟机网络适配器网络连接设置为桥接模式…...
ubuntu 物理内存爆炸而不使用虚拟内存的问题
ubuntu 物理内存不足时有时候会不去使用虚拟内存,让虚拟内存空闲,而直接关闭占用内存的进程,如果在进行模型测试或训练时,就会导致训练或测试进程被杀死。 1. 修改 swappiness: cat /proc/sys/vm/swappiness sudo sysc…...
Python实现音频均衡和降噪
使用librosa库来读取音频文件,音频处理是一个复杂过程,这里只是简单的进行降噪和均衡。 import librosa import soundfile as sf def improve_audio_quality(input_file, output_file): # 读取音频文件 audio, sample_rate librosa.load(input_…...
【JavaScript 算法】贪心算法:局部最优解的构建
🔥 个人主页:空白诗 文章目录 一、贪心算法的基本概念贪心算法的适用场景 二、经典问题及其 JavaScript 实现1. 零钱兑换问题2. 活动选择问题3. 分配问题 三、贪心算法的应用四、总结 贪心算法(Greedy Algorithm)是一种逐步构建解…...
Azcopy Sync同步Azure文件共享
文章目录 Azcopy Sync同步文件共享一、工作原理二、安装 AzCopy在 Windows 上在 Linux 上 三、资源准备1. 创建源和目标 Azure 存储账户2. 创建源和目标文件共享3. 确定路径4. 生成源和目的存储账户的共享访问签名(SAS)令牌配置权限示例生成的 URL 四、A…...
单例模式 饿汉式和懒汉式的区别
单例模式(Singleton Pattern)是设计模式中最简单、最常见、最容易实现的一种模式。它确保一个类仅有一个实例,并提供一个全局访问点。单例模式主要有两种实现方式:饿汉式(Eager Initialization)和懒汉式&am…...
Python中的模块和包的定义以及如何在Python中导入和使用它们
在Python中,模块(Module)和包(Package)是组织代码以便重用和共享的基本单元。它们使得Python代码更加模块化,易于管理和维护。 模块(Module) 模块是一个包含Python代码的文件&…...
设计模式使用场景实现示例及优缺点(结构型模式——组合模式)
结构型模式 组合模式(Composite Pattern) 组合模式使得用户对单个对象和组合对象的使用具有一致性。 有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元…...
《系统架构设计师教程(第2版)》第11章-未来信息综合技术-06-云计算(Cloud Computing) 技术概述
文章目录 1. 相关概念2. 云计算的服务方式2.1 软件即服务 (SaaS)2.2 平台即服务 (PaaS)2.3 基础设施即服务 (IaaS)2.4 三种服务方式的分析2.4.1 在灵活性2.4.2 方便性方 3. 云计算的部署模式3.1 公有云3.2 社区云3.3 私有云3.4 混合云 4. 云计算的发展历程4.1 虚拟化技术4.2 分…...
网络安全工作者如何解决网络拥堵
网络如同现代社会的血管,承载着信息的血液流动。然而,随着数据流量的激增,网络拥堵已成为不容忽视的问题,它像是一场数字世界的交通堵塞,减缓了信息传递的速度,扰乱了网络空间的秩序。作为网络安全的守护者…...
电脑显示mfc140u.dll丢失的修复方法,总结7种有效的方法
mfc140u.dll是什么?为什么电脑会出现mfc140u.dll丢失?那么mfc140u.dll丢失会给电脑带来什么影响?mfc140u.dll丢失怎么办?今天详细给大家一一探讨一下mfc140u.dll文件与mfc140u.dll丢失的多种不同解决方法分享! 一、mfc…...
ospf的MGRE实验
第一步:配IP [R1-GigabitEthernet0/0/0]ip address 12.0.0.1 24 [R1-GigabitEthernet0/0/1]ip address 21.0.0.1 24 [R1-LoopBack0]ip address 192.168.1.1 24 [ISP-GigabitEthernet0/0/0]ip address 12.0.0.2 24 [ISP-GigabitEthernet0/0/1]ip address 21.0.0.2 24…...
开发指南047-前端模块版本
平台前端框架内置了一个文件version.vue <template> <div> <br> 应用名称: {{name}} <br> 当前版本:{{version}} <br> 服务网关: {{gateway}} </div> </template> <scrip…...
c#中的字符串方法
Concat() String.Concat(字符串1 字符串n) 字符串拼接 Contains () 字符串1.Contains(字符串2) 字符串1是否包含字符串2返回布尔值 CopyTo() 字符串1.CopyTo(0,空数组,0,5); 从哪开始 复制到哪里 从哪开始存 存储的个数 tartsWith 字符串1.StartsWith("字符串") 以…...
成像光谱遥感技术中的AI革命:ChatGPT
遥感技术主要通过卫星和飞机从远处观察和测量我们的环境,是理解和监测地球物理、化学和生物系统的基石。ChatGPT是由OpenAI开发的最先进的语言模型,在理解和生成人类语言方面表现出了非凡的能力,ChatGPT在遥感中的应用,人工智能在…...
学习分布式事务遇到的小bug
一、介绍Seata 在处理分布式事务时我用到是Seata,Seata的事务管理中有三个重要的角色: TC (Transaction Coordinator) - 事务协调者:维护全局和分支事务的状态,协调全局事务提交或回滚。 TM (Transaction Manager) - 事务管理器…...
ElasticSearch学习之路
前言 为什么学ElasticSearch? 数据一般有如下三种类型: 结构化数据,如:MySQL的表,一般通过索引提高查询效率非结构化数据,如:图片、音频等不能用表结构表示的数据,一般保存到mong…...
(C++二叉树02) 翻转二叉树 对称二叉树 二叉树的深度
226、翻转二叉树 递归法: 交换两个结点可以用swap()方法 class Solution { public:TreeNode* invertTree(TreeNode* root) {if(root NULL) return NULL;TreeNode* tem root->left;root->left root->right;root->right tem;invertTree(root->l…...
高阶面试-mongodb
mongodb的特点,为什么使用他 nosql数据库,前端到后端到数据库,都是json,无模式,数据模型发生变更,不需要强制更新表结构,可以快速实现需求迭代。 天生分布式,高可用,处…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
