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,无模式,数据模型发生变更,不需要强制更新表结构,可以快速实现需求迭代。 天生分布式,高可用,处…...

第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...