网站推广/百度站长工具是什么意思
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,无模式,数据模型发生变更,不需要强制更新表结构,可以快速实现需求迭代。 天生分布式,高可用,处…...

MySQL数据库慢查询日志、SQL分析、数据库诊断
1 数据库调优维度 业务需求:勇敢地对不合理的需求说不系统架构:做架构设计的时候,应充分考虑业务的实际情况,考虑好数据库的各种选择(读写分离?高可用?实例个数?分库分表?用什么数据库?)SQL及索引:根据需求编写良…...

[短笔记] Ubuntu配置环境变量的最佳实践
结论: 不确定是否要设为系统,则先针对当前用户设,写~/.profile确定为系统级,写/etc/environment,注意无需export不推荐写在~/.bashrc(Ubuntu不推荐,理由见references) References&…...

怎样在 PostgreSQL 中优化对多表关联的连接条件选择?
🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会!📚领书:PostgreSQL 入门到精通.pdf 文章目录 怎样在 PostgreSQL 中优化对多表关联的连接条件选择一、理解多表关联的基本概念二、选择合适的连接条件…...

【Flowable | 第四篇】flowable工作流多任务实例节点实现会签/或签
文章目录 5.flowable工作流多任务实例节点实现会签/或签5.1会签/或签概念5.2多实例配置说明5.3会签例子5.3.1用户候选人配置5.3.2多实例配置5.3.3执行监听器配置5.3.5测试 5.flowable工作流多任务实例节点实现会签/或签 5.1会签/或签概念 我们在本篇中,将使用多任…...

解决C#读取US7ASCII字符集oracle数据库的中文乱码
👨 作者简介:大家好,我是Taro,全栈领域创作者 ✒️ 个人主页:唐璜Taro 🚀 支持我:点赞👍📝 评论 ⭐️收藏 文章目录 前言一、解决方法二、安装System.Data.OleDb连接库三…...

Linux驱动开发中设备节点、虚拟节点、逻辑节点之间的区别与关系
概述 在Linux DTS中我们可以看到各种各样的节点,每个节点都是对某一物理设备或功能抽象或具体的描述 设备节点 设备节点是对物理设备的一种具体的描述,它一般包含设备的寄存器地址、设备的类型、中断、时钟频率这些通用信息,除了这些通用信…...

【iOS】——ARC源码探究
一、ARC介绍 ARC的全称Auto Reference Counting. 也就是自动引用计数。使用MRC时开发者不得不花大量的时间在内存管理上,并且容易出现内存泄漏或者release一个已被释放的对象,导致crash。后来,Apple引入了ARC。使用ARC,开发者不再…...

ubuntu服务器安装labelimg报错记录
文章目录 报错提示查看报错原因安装报错 报错提示 按照步骤安装完labelimg后,在终端输入labelImg后,报错: (labelimg) rootinteractive59753:~# labelImg ………………Got keys from plugin meta data ("xcb") QFactoryLoader::Q…...

Transformer中Decoder的计算过程及各部分维度变化
在Transformer模型中,解码器的计算过程涉及多个步骤,主要包括自注意力机制、编码器-解码器注意力和前馈神经网络。以下是解码器的详细计算过程及数据维度变化: 1. 输入嵌入和位置编码 解码器的输入首先经过嵌入层和位置编码: I…...

QT实现滑动页面组件,多页面动态切换
这篇文章主要介绍了Qt实现界面滑动切换效果,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下。 一、简述 一个基于Qt的动态滑动页面组件。 二、 设计思路 1、自定义StackWidget类,继承自QWidget,实现一个堆叠…...