Hello大家好 继续我们的第二节课程。
前言
对于初学者来说并不适合一开始就灌输大量的专业性名词,反而从简入难更为符合。我个人在培训中老师也是这么讲的,但实际情况并非如此的。因为老师并没有将技术与教学弄明白。我也查阅过不少的java教学的文档。基本都是:没有足够的知识储备是难以通过“api”文档理解学懂的。所以我想以我个人觉得容易理解的方式出一些教程。有不适当的地方还请大家多多指教。
变量
第一个问题:什么是变量。
来自于百度的搜索
在初等数学中,变量是表示数字的字母字符,具有任意性和未知性。把变量当作是显式数字一样,对其进行代数计算,可以在单个计算中解决很多问题。
解析
不知道大家还记得上学时学的x与y不? 如x+3=y; 嘿嘿 这里的x与y不就是变量么 当x为2时。y不就是5。 x是3 y是6么
嘿嘿— 是不是好像懂了一点点什么。 假设我随便问了一个 x>=0。那么x可能是几。 答案可就太多了。从0到正无穷 不都是么。 回忆起来了没
数学学习不是很差的 很容易理解,当然我们还有文科生不是吗。
变量 变量 他不就是可变的量么,在没有施加任意条件的时候他可以是任意可变的值(当然,如果对这个变量施加了条件,那么这个变量的值可以是在条件范围内的任意值)。对吧。一会是1 一会是2 一会是100等等
好啦看看在我们计算机中的变量是什么,变量就是在内存中申请一段空间用来存储值。这段空间我可以存储在符合条件内的任意值。 那么问题又来了。符合什么样的条件呢。是不是不同的条件就意味变量的类型不同呢。 嘿嘿嘿
内存管理系统会根据变量的类型来为变量分配存储空间,分配的空间只能用来存储这种类型的数据
所以,通过定义不同类型的变量就可以在内存中存储整数、小数、字符。
当然我们说过,根据不同的条件就意味着变量的类型不同。java将这些不同类型的数据区分了两大类
- 基本数据类型
- 引用数据类型
好了可以暂停了。因为我们可以写点代码玩一玩。我们说java有不同的数据类型并且共分为了两大类。我们先说一种 int类型。int类型只能存储整数。如1、2、3、-1、-2、-3等。在计算机中他可不是无限大无限小的。so 他的取值范围是 -2,147,483,648(-2^31) 到 2,147,483,647(2^31 - 1)
1、在电脑上任意的地方找到创建一个文件夹并打开如我实在F:\教程\demo1目录下
2、在这个文件夹下创建一个名为HelloWorld.txt文本文档

2.1、注意:创建的时候如果你没有开启文件扩展名则只需要手写文件名HelloWorld就可以。如果创建后可以看到txt则此步骤可以忽略掉
3、双击打开他并将一下代码粘贴进入
//这里的HelloWorld并须与文件名相同。否则会报错
public class HelloWorld {
/* 第一个Java程序
* 它将打印字符串 Hello World
*/
public static void main(String []args) {
System.out.println("Hello World"); // 这串代码System.out.println("");作用是将“”中间的文本内容打印到控制台
int x=10;
int y=20;
int z;
z=x+y;
//问题:z的值是多少;
//不妨在命令框输出一下
System.out.println(z);
}
}
4、Ctrl+s保存后关闭文本文档。同时将这个文本文档的后缀改为.java

5、在我们创建这个文本文档的文件夹上的目录中 输入cmd 并且回车

6、此时我们就打开了命令框并且是在文本文档所在的路径下。
7、我们在命令框中输入 javac HelloWorld.java 进行对代码的编译。输入结束后回车。

8、继续在命令框中输入java HelloWorld 回车进行运行。

9、出现了什么 哈哈。恭喜小伙伴 第一个程序跑完了。
10、解析一下
public class HelloWorld { 大家先不用管他是什么 目前不需要了解。你只用知道 HelloWorld 是类名,他必须与文件名一致。
public static void main(String []args) { 你就需要知道了。这是一个main方法。整个程序的入口方法。就是说你程序一旦执行后就会立刻进入到main方法开始执行第一行的代码。当然如果你的代码编写有错就会报错。
这是 Java 语言中的主方法(main method)的定义。
这个方法是 Java 程序的入口点,当程序运行时,JVM(Java 虚拟机)会首先查找这个方法并执行其中的代码。
其参数String []args是一个字符串数组,用于接收程序运行时传递的命令行参数。你可以在运行 Java 程序时在命令行中指定参数,这些参数会以字符串的形式存储在这个数组中,以便程序在运行时可以根据这些参数进行不同的操作。
例如,你可以通过以下方式运行一个包含这个主方法的 Java 程序并传递参数:
java YourClassName arg1 arg2 arg3
在程序中,你可以通过args[0]访问第一个参数 “arg1”,args[1]访问第二个参数 “arg2”,以此类推。
System.out.println(“Hello World”); 我们可以看到在命令框打印过Hello World这段话 也打印过z。为什么一个出现了一段话。一个是出现z变量的值呢。嘿嘿。
注意看细节。Hello World是不是前后都出现 " 没错 双引号。整体来看Hello World被双引号包裹。在这里他也是一个变量。他是一个字符串变量。不信。你可以试一试以下这段代码
public class HelloWorld {
public static void main(String []args) {
String d="Hello World"
System.out.println(d);
}
}
他的输出结果还是Hello World。
诶 大家又会问了。你不是用int 在声明变量么。怎么现在换成了String。嘿嘿。这就是我们的另一个数据类型了。当然这个String并不是基本数据类型。而是引用数据类型。回头我再讲什么是应用数据类型。
int x=10;
int y=20;
int z;
z=x+y;
大家看一下我用int声明的 x ,y。
int声明整数类型的代码。 x,y,z就是变量名。10与20就是x与y变量的值。 这下懂了吧。
那么 为什么 z在声明的时候没有赋值。
嘿嘿,这个没有为什么,你想赋值就给他赋值不想赋值就不赋值呗。
在换一种写法
int x=10;
int y=20;
int z=x+y;
像这种也是可以的。大家其实也可以自己试一试 在不给x或者y赋值的时候会出现什么情况呢?
好了引导结束。接下来就看看。我们的java可以创建那些基本数据类型呢
Java 基本数据类型
java提供了8种基本数据类型。分别是 byte、int、short、long、double、float、char、boolean
先说说不同类型的属性吧
byte
- 最小值是 -128(-2^7);
- 最大值是 127(2^7-1);
- 默认值是 0;
int
- 最小值是 -2,147,483,648(-2^31);
- 最大值是 2,147,483,647(2^31 - 1);
- 默认值是 0 ;
short
- 最小值是 -32768(-2^15);
- 最大值是 32767(2^15 - 1);
- Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
long
- 最小值是 -9,223,372,036,854,775,808(-2^63);
- 最大值是 9,223,372,036,854,775,807(2^63 -1);
- 默认值是 0L;
double
- double 数据类型是双精度
- 浮点数的默认类型为 double 类型;
- double类型同样不能表示精确的值
- 默认值是 0.0d;
float
- float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
- float 在储存大型浮点数组的时候可节省内存空间;
- 默认值是 0.0f;
char
- char 类型是一个单一的 16 位 Unicode 字符;
- 最小值是 \u0000(十进制等效值为 0);
- 最大值是 \uffff(即为 65535);
- char 数据类型可以储存任何字符;
boolean
-
boolean数据类型表示一位的信息;
-
只有两个取值:true 和 false;
-
默认值是 false;
想了想 还是给大家都试用一便吧。大家一定要看着手敲一遍
public class HelloWorld {
/* 第一个Java程序
* 它将打印字符串 Hello World
*/
public static void main(String []args) {
//byte
byte a=1;
byte b=-2;
//int
int c=2;
int d=103;
//short
short e=300;
short f=600;
//long
long h=1000;
long i=5000;
//double
double j=0.01d;
double k=0.05d;
//float
float l=0.1f;
float m=0.5f;
//char
char n='a';
char o=100;
//boolean
boolean p=true;
boolean q=false;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
System.out.println(h);
System.out.println(i);
System.out.println(j);
System.out.println(k);
System.out.println(l);
System.out.println(m);
System.out.println(n);
System.out.println(o);
System.out.println(p);
System.out.println(q);
}
}
java引用类型
在java 中对象、数组都是引用数据类型。我们在基本数据类型中用到的String 他也是引用数据类型。用于存储一串字符。
所有的引用类型的默认值都是null
概念理解
- 在 Java 中,引用数据类型是用于存储对象引用(也可以理解为对象在内存中的地址)的数据类型。它和基本数据类型相对,基本数据类型直接存储数据值(如
int存储整数,char存储字符等),而引用数据类型通过引用指向堆内存中的对象实例。 - 简单来说,引用数据类型就像是一个指针(在 C/C++ 中有指针的概念,Java 中的引用与之类似但又有所不同),这个 “指针” 告诉程序对象在内存中的位置,通过这个 “指针” 可以操作对象的各种属性和方法。
内存中的存储方式
-
当创建一个引用数据类型的变量时,这个变量会被存储在栈内存中,它的值是对象在堆内存中的地址。而对象的实际内容(包括对象的属性和方法等)存储在堆内存中。
-
例如,当你创建一个
String对象(String是引用数据类型): -
String str = new String("Hello"); -
变量
str存储在栈内存中,它的值是"Hello"这个字符串对象在堆内存中的地址。"Hello"这个对象本身(包括字符数组等内部结构)存储在堆内存中。
看到以上的文字其实挺模糊的对概念,简单的画个图方便大家的理解

1万+

被折叠的 条评论
为什么被折叠?



