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

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

变量和类型

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

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

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

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

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

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

内存储器就是我们的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安全性



目录
相关文章
|
3月前
|
缓存 安全 Java
《volatile使用与学习总结:》多层面分析学习java关键字--volatile
《volatile使用与学习总结:》多层面分析学习java关键字--volatile
25 0
|
9天前
|
监控 Java 调度
【Java学习】多线程&JUC万字超详解
本文详细介绍了多线程的概念和三种实现方式,还有一些常见的成员方法,CPU的调动方式,多线程的生命周期,还有线程安全问题,锁和死锁的概念,以及等待唤醒机制,阻塞队列,多线程的六种状态,线程池等
67 6
【Java学习】多线程&JUC万字超详解
|
27天前
|
前端开发 Java 编译器
【前端学java】如何从前端视角快速学习Maven
【8月更文挑战第12天】如何从前端视角快速学习Maven
39 2
【前端学java】如何从前端视角快速学习Maven
|
1月前
|
存储 算法 Java
Java零基础(1) - 从零开始学习数组
【8月更文挑战第1天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
29 1
|
1月前
|
Java 测试技术 开发者
Java零基础教学(07):学习正确的命名规范
【8月更文挑战第7天】Java零基础教学篇,手把手实践教学!
65 0
|
3月前
|
安全 Java 编译器
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
31 1
|
3月前
|
消息中间件 负载均衡 Java
学习Java中的反应式编程
学习Java中的反应式编程
|
2月前
|
设计模式 算法 Oracle
Java语言学习路径及学习资源推荐
Java语言学习路径及学习资源推荐
|
3月前
|
Java
JAVA高级部分学习小结(2023.11.4)
JAVA高级部分学习小结(2023.11.4)
|
3月前
|
算法 Java 测试技术
滚雪球学Java(54):从零开始学习Java中的Math类,轻松解决数学难题
【6月更文挑战第8天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
33 0
滚雪球学Java(54):从零开始学习Java中的Math类,轻松解决数学难题