【零基础??天速成 Java】Day1 - 初识 java

news2025/1/11 6:11:07

目录

前言

1. 第一个 java 程序

2. java  开发的注意事项

3. java 的注释

4. javadoc 标签

5. java 的变量

6. java 的 String 和 基本类型转换

7. java 的输入

8. java 的数组

9. java 的方法

10. java 方法的传参

写在最后:


前言

我的 java 基础学习,跟的是韩顺平的 java 课程~

本篇文章涵盖视频 0 ~ 215 集中 java 与 C++ 不同的知识点~ 

1. 第一个 java 程序

我的环境是:java8,Sublime

第一个 java 程序:

public class test {
	public static void main(String[] args) {
		System.out.println("hello java!\n");
	}
}

public class test 表示的是 test 是一个公有的类,

public static void main(String[] args) 表示的是一个主方法,程序的入口

System.out.println("hello java!\n"); 表示输出 hello java! 到屏幕上

 很开心,第一个 java 程序成功启动!

2. java  开发的注意事项

1. 源文件中最多只能有一个 public 类,其他类的个数不限制;

2. public 类的类名必须和文件名相同;

3. 可以将 main 方法写在非 public 类中,然后指定运行非 public 类,

这样进入的就是非 public 类的 main 方法,举个例子:

public class test {
	public static void main(String[] args) {
		System.out.println("hello java!");
	}
}

class dog {
	public static void main(String[] args) {
		System.out.println("hello dog~");
	}
}

我们可以从 dog 类的主方法进入函数:

3. java 的注释

java 的注释跟 C++ 的一模一样。

但是 java 有一个文档注释:

/**
 * 我的第一个 java 程序
 * 
 * 
 *  
*/

输入:/**

之后,就会有自动补齐的语法。

4. javadoc 标签

比如说我们这样一段代码:

/**
 * @author xl
 * @version 1.0
 * 我的第一个 java 程序 
*/

// public 类
public class test {
	public static void main(String[] args) {
		System.out.println("hello java!");
	}
}

class dog {
	public static void main(String[] args) {
		System.out.println("hello dog~");
	}
}

在文档注释里面的 @author,@version 就是java的文档标签,

我们使用 javadoc 执行就能生成一个文档,

输入这样的指令:

javadoc -d F:\my test.java

-d 后面加的是文件路径:

这样就证明成功了,我们该文件去看看:

我们可以看到他生成的文档,点开 index:

我们就能看到他生成的文档。 

5. java 的变量

java 的 int double char 和 C++ 相同,而字符串类型是 String。

boolean 是 java 的 bool 类型。(注意 java 的 char 是两个字节)

另外补充一点 '+' 的使用,java 的加号如果是两个字符串,可以进行拼接操作。

6. java 的 String 和 基本类型转换

只需要把基本类型 + " " 就可以转换成 String 类型。 

比如说这段代码:

class string {
	public static void main(String[] args) {
		int a = 1000;	
		int b = 2222;
		String s1 = a + "";
		System.out.println(s1 + b + "");
	}

}

这段代码输出的就是:

String 也可以转成基本的数据类型,不过这就需要用到一些 api 的接口,

这里我就懒得学了。 

7. java 的输入

来看代码:

// 需要包含 Scanner 包
import java.util.Scanner;
public class Input {
	public static void main(String[] args) {
		// 用 new 创建一个 Scanner 对象
		Scanner myScanner = new Scanner(System.in);
		
		System.out.println("请输入你的名字:");
		String name = myScanner.next();

		System.out.println("请输入你的年龄:");
		int age = myScanner.nextInt();

		System.out.println(name + "" + " " + age + "");
	}
}

输出:

8. java 的数组

java 的数组有两种:

静态数组:

public class ArrayTest {
	public static void main(String[] args) {
		// 静态数组
		int[] arr = {1, 2, 3, 4, 5};
		for(int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
	}
}

动态数组:

		Scanner myScanner = new Scanner(System.in);
		// 动态数组
		int[] arrM = new int[5];
		for(int i = 0; i < arrM.length; i++) {
			arrM[i] = myScanner.nextInt();
			System.out.println(arrM[i]);
		}

二维数组也是类似的方式。

9. java 的方法

来看例子:

class Person {
	int _age;

	public void speak() {
		System.out.println("你好。");
	}
}

class Method {
	public static void main(String[] args) {
		Person p = new Person();
		p.speak();
	}
}

这里要注意的是,java 的对象不同于 C++,

java 的对象一定要 new 出来才能使用。

然后就是注意 public 写在方法的返回类型前面。

10. java 方法的传参

这里需要注意的是,java 传基本类型的时候,

形参的改变不影响实参,方法内修改不会影响方法外,

但是!!!

java 传引用类型(数组)或者传对象的时候,

传过去的是地址,所以在方法内修改会影响到方法外面。

然后这里又有一个需要注意的场景:

class Person {
	int _age;

	public void speak() {
		System.out.println("你好。");
	}
}

class Do {
	public void mod(Person p) {
		p = null;
	}
}

class Method {
	public static void main(String[] args) {
		Person p = new Person();
		Do d = new Do();
		d.mod(p);
		p.speak();
	}
}

我们在 Do 类里吧 Person 类对象置空了,但是,

我们在主方法还是可以直接使用 p 对象,这是为什么呢?

因为,mod 函数使用的是一个独立的栈区,所以 p 指向位置的改变不会影响 主方法里的。

但是修改对象里面的成员,是可以改变的。

数组也是类似的:

class Do {
	public void mod(int[] arr) {
		arr = null;
	}
}

class Method {
	public static void main(String[] args) {
		int[] arr = new int[1];
		arr[0] = 10;
		Do d = new Do();
		d.mod(arr);
		System.out.println(arr[0]);
	}
}

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果感到有所收获的话可以给博主点一个哦。

如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~

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

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

相关文章

工业机器人:现代制造业的革命力量

随着科技的迅猛发展&#xff0c;工业机器人已经成为现代制造业中不可或缺的一环。工业机器人的发展历经几十年的演进&#xff0c;从最早只能完成重复性、单一性的任务&#xff0c;到如今可以完成复杂多变的工序。工业机器人的应用领域也不断扩大&#xff0c;如汽车制造、电子制…

《零基础入门学习Python》第074讲:GUI的终极选择:Tkinter11

今天我们来讲讲 事件绑定。正如我们此前所提到的&#xff0c;一个 tkinter 的应用程序大部分时间是花费在事件循环中的&#xff0c;也就是通过 mainloop() 方法进入时间循环了&#xff0c;事件可以有各种各样的来源&#xff0c;比如说 用户移动、点击一下鼠标&#xff0c;会产生…

git常用命令速查表

1.git add -u [<路径>]: 把<路径>中所有跟踪&#xff08;tracked&#xff09;文件中被修改过或已删除文件的信息添加到索引库。它不会处理未跟踪&#xff08;untracked&#xff09;的文件。省略<路径>表示&#xff1a;即当前目录。 2.git add -a [<路径&…

BGP属性+选路规则

目录 一&#xff0c;BGP的属性—基础属性 1.PrefVal 2.LocPrf 3、优先本地下一跳 &#xff08;NextHop&#xff09; 4、AS-PATH 5、起源属性 6、MED -多出口鉴别属性 二&#xff0c;BGP选路规则 三&#xff0c;BGP的社团属性 一&#xff0c;BGP的属性—基础…

埃隆马斯克五步工作法丨IDCF

作者&#xff1a;徐磊 文章首发地址&#xff1a;https://smartide.cn/zh/blog/2022-0707-elonmusk-5steps/ 埃隆马斯克在2021年被福布斯杂志评选为世界首富&#xff0c;截至2022年7月他的个人财富为2214亿美金&#xff0c;他同时也是多家公司的CEO&#xff0c;包括&#xff1a…

便利生活,探索上门家政小程序的必备功能与用户体验

上门家政小程序是一种方便用户在线预约家政服务的应用程序。下面将介绍一下开发上门家政小程序时的必备功能&#xff0c;以及这些功能如何提供便利和增加用户体验。   在线预约功能&#xff1a;上门家政小程序提供了在线预约平台&#xff0c;用户可以通过手机随时随地选择需要…

Linux命令(56)之ifconfig

Linux命令之ifconfig 1.ifconfig介绍 linux命令ifconfig可以用来查看网卡信息&#xff0c;启停网卡&#xff0c;设置网络IP等&#xff0c;基于实际运维场景&#xff0c;我们就来说说ifconfig普遍的常规用法 2.ifconfig用法 ifconfig [网络设备名称] [参数] ifconfig参数 参…

try catch 应该在for循环里面还是外面

使用场景 为什么要把 使用场景 摆在第一个 &#xff1f; 因为本身try catch 放在 for循环外面和里面&#xff0c;如果出现异常&#xff0c;产生的效果是不一样的。 怎么用&#xff0c;就需要看好业务场景&#xff0c;去使用了。 ① try catch在for循环外面 代码示例 &…

免费Scrum工具,Scrum敏捷研发管理流程

Leangoo领歌它覆盖了敏捷项目研发全流程&#xff0c;包括小型团队Scrum敏捷开发&#xff0c;规模化敏捷SAFe&#xff0c;Scrum of Scrums大规模敏捷。它提供了灵活的敏捷模板和极致的协作体验&#xff0c;可以让团队快速上手&#xff0c;快速落地Scrum敏捷开发管理。 首先建立产…

Arcgis 分区统计majority参数统计问题

利用Arcgis 进行分区统计时&#xff0c;需要统计不同矢量区域中栅格数据的众数&#xff08;majority&#xff09;&#xff0c;出现无法统计majority参数问题解决 解决&#xff1a;利用copy raster工具&#xff0c;将原始栅格数据 64bit转为16bit

Blazor第三方组件库推荐:BootstrapBlazor UI

文章目录 前言资源适合人群如何开始环境配置开始新项目Server和Wasm的区别.NET CORE 不支持 7.0运行结果 使用组件发布项目配置到IIS里面 前言 Blazor是C#全栈追求极致开发速度的一个前后端不分离的框架&#xff0c;上限是在Winform,WPF,MAUI等宿主环境上面运行的全平台引用。…

给你一把钥匙,教你如何实时翻译网课语音

嘿&#xff01;你是否曾经遇到过参加过一节精彩的录播课程&#xff0c;但因为语言不通而错失了许多重要内容的情况&#xff1f;或许你也曾因无法即时和老师互动而感到遗憾。别担心&#xff01;我将带你探索一个令人兴奋的解决方案——语音翻译&#xff01;这项神奇的技术能够让…

时间复杂度为O(n2)的三种简单排序算法

1.冒泡排序 冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较&#xff0c;看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少少一个元素移动到它应该在的位置&#xff0c;重复n次&#xff0c;就完成了n个数据的排序工作。 /*** …

通用商城项目(中)

金山编译器出问题了。下面段落标号全出问题了&#xff0c;排版也出问题了。懒得改了。 使用对象存储OSS&#xff0c;保存品牌logo 新建Module&#xff0c;提供上传、显示服务 有些不明所以的&#xff0c;按照steinliving-commodity配置了一通pom.xml 新建application.yml&…

下载离线版的VS Visual Studio 并下载指定的版本

一、先下载引导程序 下载地址VS VisualStudio官网 在这个页面翻到最下面 在这里下载需要的版本 下载引导程序 二、下载离线安装包 写一个批处理文件&#xff08;vs.bat&#xff09; 命令格式如下 <vs引导程序exe> --layout <离线安装包下载的路径> --add <功能…

EMS SQL Manager for MySQL Crack

EMS SQL Manager for MySQL Crack 用于MySQL的EMS SQL Manager是用于MySQL数据库管理和开发的高性能工具。它适用于4.1到最新版本的任何MySQL&#xff0c;并支持所有最新功能&#xff0c;包括MySQL触发器、视图、存储过程和函数、InnoDB外键、Unicode数据等。SQL Manager for M…

策略新高,牛回速归?

量化策略开发&#xff0c;高质量社群&#xff0c;交易思路分享等相关内容 大家好&#xff0c;今天我们来聊一下&#xff0c;股票社群策略绩效实盘总结。 众所周知&#xff0c;2023年我们开设了新的社群——股票社群。该社群宗旨是在尽可能简单有效逻辑下&#xff0c;降低因子复…

HTML5 API 多端通信桥 MessageChannel 技术

这个特别有意思&#xff0c;可以将其理解为通信桥的概念&#xff0c;桥有两个端&#xff08;port1&#xff0c;port2&#xff09;只要将port1&#xff0c;port2指定到任意两个进程&#xff0c;无论是iframe-iframe&#xff0c;iframe-worker&#xff0c;parent-child-iframe&am…

制作crate并发布到Crates.io

准备 发布 crate 时, 一旦发布无法修改,无法覆盖, 因此要注意邮箱等一些个人信息 访问crates.io 的 帐号设定页面[1],生成Token 并在命令行 执行 cargo login your token 此命令将告诉 Cargo 你的 API 令牌, 并将其存储在本地 ~/.cargo/credentials crates.io 上crate的名字, 会…

Linux知识点 -- 基础IO(三)

Linux知识点 – 基础IO&#xff08;三&#xff09; 文章目录 Linux知识点 -- 基础IO&#xff08;三&#xff09;一、理解文件系统1.磁盘文件2.文件系统的存储结构3.inode与文件名的关系 二、软硬链接1、软链接2.硬链接 三、动静态库1.库2.生成静态库3.静态库的使用4.生成动态库…