JAVA学习(2)-全网最详细~

news2025/1/12 20:49:15

🌈write in front🌈
🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流.
🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如需转载还请通知⚠️
📝个人主页:Aileen_0v0🧸—CSDN博客
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​
📣系列专栏:Aileen_0v0🧸的JAVA学习系列专栏🌸——CSDN博客
🗼我的格言:"没有罗马,那就自己创造罗马💫~"

目录

变量和类型​编辑

JAVA 中 package 的作用​编辑

JAVA 中 println print printf 三者的区别 ​编辑

 单位换算​编辑

整型取值范围​编辑

练习1​编辑: 

 Identifiers 标识符​编辑

练习2​编辑:

练习3​编辑:

练习4​编辑:

练习5​编辑:

练习6​编辑:

Summary​编辑


变量和类型


变量指的是程序运行时可变的量.

相当于开辟一块内存空间来保存一些数据

类型则是对变量的种类进行了划分,不同的类型的变量具有不同的特性

"变量"主要和我们的"内存"这样的硬件设备密切相关

输入设备:鼠标,键盘,话筒

输出设备:屏幕,耳机,音响

内存储器就是我们的CPU  ~

内存: RAM --->用于运行程序   如下,如果跑满16G电脑就会卡死

 运算器:进行逻辑运算

控制器:控制程序运行进程

 x = 5 这个变量就是储存在我们的内存中

上面是安卓系统运行内存8GB

JAVA 中 package 的作用

 在今天初写代码的时候,我遇到一个问题--->

Exception in thread "main" java.lang.Error:Unresolved compilation problem:

当我在第一行加上 package 文件名 这个错误就消失了

这是为什么呢?

package在Java中的作用是为了组织和管理Java类。它是一种命名空间,用于将具有相似功能或属于同一模块的类组织在一起

使用package可以使Java程序更加容易维护和组织

多个Java程序员协同开发一个大型Java项目时,使用package可以防止不同程序员之间的类名冲突。同时,使用package也可以使Java程序的可重用性更高。通过将相关类组织在同一package中,其他开发人员可以更轻松地使用和重用这些类。

要在Java中创建一个package,需要在每个Java类文件的开头添加package语句,指定类所属的package名称。例如:

package Oniline;
public class HelloWorld{
	public static void main(String[] args) {
		/*
		 * 1.整型int 占 4字节
		 */
		int a = 10;
		
		System.out.println(a);
	}
}

在这个例子中,HelloWorld类属于名为Oniline的package。其他Java类也可以属于同一package。如果其他Java类想要使用HelloWorld类只需使用完整的类名:Oniline.HelloWorld。

JAVA 中 println print printf 三者的区别 

package Oniline;
public class HelloWorld{
	public static void main(String[] args) {
		/*
		 * 1.整型int 占 4字节
		 */
		int a = 10;
		
		System.out.println(a);// 打印 且换行
		System.out.print(a);// 打印 但是不换行
		System.out.printf("%d\n",a);//以格式化形式进行内容输出
	
	}
}

 单位换算

整型取值范围

上面提到 一个int 是 4 字节 那么它就有 4 * 8 = 32位  

 对于正数有2^31 - 1种情况  减去全为0 的这一种情况

所以正数的范围是 0 - 2^31-1

负数范围是 -2^31 -  -1

所以整型取值范围是  -2^31  -   2^31 - 1

package Oniline;
public class HelloWorld{
	public static void main(String[] args) {
		/*
		 * 1.整型int 占 4字节
		 */
		int a = 10;
		System.out.println(Integer.MAX_VALUE);
		System.out.println(Integer.MIN_VALUE);
		//Integer 用于包装类 相当于int
		
//		System.out.println(a);// 打印 且换行
//		System.out.print(a);// 打印 但是不换行
//		System.out.printf("%d\n",a);//以格式化形式进行内容输出
	
	}
}

 通过命令行执行结果可知最大值是2147483647 , 最小值是 -2147483648. 

package Oniline;
public class HelloWorld{
	public static void main(String[] args) {
		/*
		 * 1.整型int 占 4字节
		 */
		
		int max = Integer.MAX_VALUE;
		System.out.println(max);
//		int a = 10;
//		System.out.println(Integer.MAX_VALUE);
//		System.out.println(Integer.MIN_VALUE);
		//Integer 用于包装类 相当于int
		
//		System.out.println(a);// 打印 且换行
//		System.out.print(a);// 打印 但是不换行
//		System.out.printf("%d\n",a);//以格式化形式进行内容输出
	
	}
}

 控制台运行结果:

如果我们`在其后+1

 控制台输出结果:由原来的 最大值变成了最小值  就像是上面的那个圆

练习1

int a;
System.out.println(a);

根据代码,猜测它的输出结果是什么: 随机数,0,还是输出错误 

根据结果报错可知,JAVA中一个变量没有初始化我们就不能使用他. 

但是如果我们给它初始化以后,控制台就可以正常编译了

 Identifiers 标识符

package Oniline;
public class HelloWorld{
	public static void main(String[] args) {
		/*
		 * 1.整型int 占 4字节
		 * 2.标识符 : 数字 字母 下划线 $
		 */
		
		int a = 0;
		System.out.println(2a);

	}
}

「Identifiers」 are for naming variables, constants, methods, classes, and packages.  标识符用于命名变量,常量,方法,类和包

「Descriptive」identifiers make programs easy to read. 描述性的标识符使程序易于明白

Since Java is 「case sensitive」, area,  Area, and AREA are all different identifiers. 严格区分大小写 

练习2:

Which of these data types requires the most amount of memory?

 A. long  

B. int  

C. short  

D. double  

E. float 

double requires the most amount of memory among the given data types because it store floating-point numbers with greater precision than float data type. Double data type occupies 8 bytes (64 bits) of memory while int, short, long, and float take up 4 bytes (32 bits) of memory each.

在给定的数据类型中,double需要最多的内存空间。一个double类型的变量通常需要64位(1字节=8位)的内存空间来存储。这是因为double类型被设计用来存储双精度浮点数,这种类型的数具有更高的精度和范围,需要更多的内存空间来存储。
相比之下,像int或long这样的整数类型通常只需要32位或64位的内存空间,而char这样的字符类型通常只需要8位(1字节)的内存空间。因此,double类型需要比其他数据类型更多的内存空间。--->选D

练习3:

Every letter in a Java keyword(reserved words) is in lowercase?

 A. true                  

B. false 

上面思维导图有介绍什么是保留字以及Java keyword(reserved words)保留字约定俗成的都用小写表示.--->选A

练习4:

Which of the following is a valid identifier?

 A. $343  

B. class

 C. 9X

 D. 8+9  

E. chocolate 

A. $343 - 在许多编程语言中,以美元符号($)开始,后面跟数字不是有效的标识符。但在某些语言(如JavaScript)中,它可能被解析为一个合法的标识符。但在Java中虽然可以写成这样,但是不建议这样写

B. class - 在Java中,class是一个关键字-reserved word,不能作为标识符-identifier使用。

C. 9X - 以数字开头,后面跟字母不是大多数编程语言所允许的。

D. 8+9 - 这是一个表达式,不是一个标识符。

E. chocolate - 这完全符合标识符的规则,是一个有效的标识符。

--->选AE

练习5:

Which of the following are correct names for variables according to Java naming conventions?

A. radius

B. Radius    

C. RADIUS

D. findArea        

E. FindArea

According to Java naming conventions, the following are the correct names for variables:
A. radius
D. findArea
Java区分大小写,因此变量名称需要以小写字母开头。只有当大写字母是较大单词的一部分时,才允许使用大写字母,例如“Radius”。名称不应包含特殊字符或数字,下划线“_”除外。

--->选A和D

Java中,全部字母大写通常用来定义常量。这是一种规范,可以让其他开发人员在阅读代码时更易于识别和理解这些值是不变的。常量的值在程序运行期间是无法更改的,因此它们必须在声明时就确定其值。常量的声明方式为:

public static final 数据类型 常量名 = 值;

其中,public表示常量可以被任何类访问

static表示常量是静态的,它属于类而不是对象

final表示该常量的值不可修改

大写字母可用于增强常量的可读性和识别性。例如:

public static final int MAX_NUMBER = 100;

在程序的其他部分中,可以使用MAX_NUMBER来引用该常量的值,而无需担心它会被更改。

B.Radius开头字母大写 和 E.FindArea驼峰形式的命名都是 class类的命名格式

练习6:

Which of the following are correct ways to declare variables?

A. int length; int width;

B. int length, width;

C. int length; width;

D. int length, int width;

正确的声明变量方式是选项A和B
A. int length; int width;
B. int length, width;
在Java中,每个变量都需要独立地进行声明和初始化。因此,选项A和B都是正确的。选项C和D则存在错误,因为width变量没有被声明或初始化。

Summary

1.如何定义一个int类型的变量

2.int 类型在Java当中 就是4字节

3.int 最大值和最小值

4.如果一个局部变量,没有进行初始化,那就不能够使用它

5.Java 只有局部变量和成员变量(在类内部,方法外部的变量) 没有全局变量--->体现JAVA安全性 


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

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

相关文章

jarvisoj_level5

jarvisoj_level5 Arch: amd64-64-little RELRO: No RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x3fe000)64位,只开了NX ssize_t vulnerable_function() {char buf[128]; // [rsp0h] [rbp-80h] BYREFwrite(1, "Input:\…

【网络通信三要素】TCP与UDP快速入门

网络通信三要素 1.什么是网络编程? 可以让设备中的程序,与网络上其他设备中的程序进行数据交互,从而实现网络通信的手段,java.net.*包下提供了网络编程的解决方案 2.基本的通信架构 基本的通信架构有2种形式:CS架构…

【Spring MVC】MVC如何浏览器请求(service方法)

文章目录 1. DispatcherServlet 的 service 方法1.1. processRequest 方法1.2. doService 方法 背景:平时我们学习 MVC 重点关注的时DispatcherServlet 的 doDispatcher 方法,但是在 doDispatcher 方法之前 还有请求处理的前置过程,这个过程…

javaWeb学生信息管理

一、引言 学生信息管理系统是基于Java Web技术开发的一个全栈应用,用于管理学生的基本信息。本系统采用Eclipse作为开发工具,Navicat用于MySQL数据库管理,运行在JDK1.8、Tomcat9.0、MySQL8.0环境下。前端采用JavaScript、jQuery、Bootstrap4…

大语言模型之十四-PEFT的LoRA

在《大语言模型之七- Llama-2单GPU微调SFT》和《大语言模型之十三 LLama2中文推理》中我们都提到了LoRA(低秩分解)方法,之所以用低秩分解进行参数的优化的原因是为了减少计算资源。 我们以《大语言模型之四-LlaMA-2从模型到应用》一文中的图…

14:00面试,14:06就出来了,这问的过于变态了。。。

前言 刚从小厂出来,没想到在另一家公司我又寄了。 在这家公司上班,每天都要加班,但看在钱给的比较多的份上,也就不太计较了。但万万没想到5月一纸通知,所有人不准加班了,不仅加班费没有了,薪资…

Linux: 进程(控制)

目录 1.进程的创建 1.1fork函数 1.2fork创建子进程,OS做了什么? 1.3为什么要写实拷贝? 2.进程的终止 2.1进程终止,操作系统做了什么? 2.2进程常见的退出方式 2.3进程常见的退出方法 3.进程的等待 3.1为什么进行进程等待…

SpringCloud Alibaba - Seata 部署 TC 服务,并集成微服务

目录 一、Seata 架构 1.1、Seata 架构重要角色 1.2、部署 TC 服务 1.2.1、前言 1.2.2、下载 seata-server 包,解压 1.2.3、修改配置 1.2.4、在 nacos 中添加配置 1.2.5、创建数据库表 1.2.6、启动 TC 服务 1.3、微服务集成 Seata 1.3.1、引入依赖 1.3.2、…

面试题:熟悉设计模式吗?谈谈简单工厂模式和策略模式的区别

刚刚接触设计模式的时候,我相信单例模式和工厂模式应该是用的最多的,毕竟很多的底层代码几乎都用了这些模式。自从接触了一次阿里的公众号发的一次文章关于 DDD的使用 以后,就逐渐接触了策略模式。现在在项目中运用最多的也是这几种设计模式了…

使用mysql的cmd窗口,运行项目中的mapper层xml里的sql语句,查看运行结果

使用mysql的cmd窗口,运行项目中的mapper层xml里的sql语句,查看运行结果 项目代码或者从控制台复制sql语句从控制台搜索方式 运行效果或者使用idea的console窗口运行查看结果点击进入,查看表结构与字段 其他技巧根据from 表名寻找对应的sql代码…

Linux系统编程系列之线程属性

一、什么是线程属性 线程属性就是线程的属性,是一个用于控制线程行为和功能的参数集合。它可以影响线程的优先级、调度、同步行为和资源管理等方面。线程有许多属性,如分离属性,继承策略,调度策略等。看图 二、线程属性的特性 1、…

ctfshow 命令执行(40-50)

web40 题目过滤了很多 if(isset($_GET[c])){$c $_GET[c];if(!preg_match("/[0-9]|\~|\|\|\#|\\$|\%|\^|\&|\*|\&#xff08;|\&#xff09;|\-|\|\|\{|\[|\]|\}|\:|\|\"|\,|\<|\.|\>|\/|\?|\\\\/i", $c)){eval($c);}}else{highlight_file(__FILE_…

pycharm 中的一个非常好使用的智能提示tabnine(大大提高代码的书写效率)

一. pycharm 中的代码智能提示插件 有时候,我们总是在写代码的时候,敲全部的代码,太过于麻烦了,如果有一个软件可以预知你的后续的操作,提前将代码给你写出来,你只需要检查对错,就可以了,这样就大大提高了工作的效率. 上面的一个插件是汉化pycharm的软件包,也是非常好用的一款…

小谈设计模式(14)—建造者模式

小谈设计模式&#xff08;14&#xff09;—建造者模式 专栏介绍专栏地址专栏介绍 建造者模式角色分类产品&#xff08;Product&#xff09;抽象建造者&#xff08;Builder&#xff09;具体建造者&#xff08;Concrete Builder&#xff09;指挥者&#xff08;Director&#xff0…

分享一款开源的QT的串口示波器

分享一款开源的QT的串口示波器&#xff0c;完全开源&#xff0c;支持串口、TCP、波形显示、通信协议。 Sailor Project功能说明 串口调试助手功能 支持传统的串口调试助手的基本收发功能&#xff0c;同时可以刷新大量的数据而不卡顿 支持保存接收的数据 支持最大200条可编辑…

cadence SPB17.4 S032 - Update Symbols失败的问题

文章目录 cadence SPB17.4 S032 - Update Symbols失败的问题概述笔记END cadence SPB17.4 S032 - Update Symbols失败的问题 概述 铺铜后, 进行DRC, 发现安装孔不太合适, 有DRC警告. 安装孔是一大孔, 上面打了一圈小孔. 这些小孔有警告, 说孔和孔之间不能干涉. 开始将这些DRC…

vue3+ts创建前端blog项目

vue3创建blog项目 cmd创建Manually select featuresChoose Vue versionUse class-style component syntax? (Y/n)Use Babel alongside TypeScript (required for modern mode, auto-detected polyfills, transpiling JSX)? (Y/n)Use history mode for router?Pick a CSS pre…

基于SpringBoot的科研工作量获奖项目管理平台设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

TinyWebServer学习笔记-MySQL数据库连接

为什么要用数据库连接池&#xff1f; 我们的网站允许用户注册&#xff0c;在没有池的情况下&#xff0c;假设只有一个人&#xff0c;那么流程就是&#xff0c;用户点击注册&#xff0c;通过socket将用户的账号和密码发送到服务器&#xff0c;然后就需要创建MySQL数据库连接&am…

C#制做一个 winform下的表情选择窗口

能力有限&#xff0c;别人可能都是通过其他方式实现的&#xff0c;我这里简单粗暴一些&#xff0c;直接通过点击按钮后弹出个新窗体来实现。 1、先在form1上增加一个toolstrip控件&#xff0c;再增加个toolstripbutton按钮&#xff0c;用来点击后弹出新窗体&#xff0c;如图&a…