Java学习笔记001——入门基础知识

Java语言是一种高级编程语言,它采用了面向对象编程的思想,具有跨平台性和安全性等优点。现如今,Java语言成为了世界上最流行的编程语言之一。

前一段学习Python语言,本文是学习java的第一篇笔记。

1. java运行环境搭建:

运行java程序,首先需要安装Java Development Kit(JDK)。可以从Oracle官方网站下载适合自己操作系统版本的JDK安装程序,并安装即可。

我使用的操作系统是Deepin23Beta3,应用市场中提供lOpenJDK(开发套件),点击安装即可。

2.编码工具:

建议使用IntelliJ IDEA 社区版,安装后,会提升配置JDK,选择即可,运行编写的java代码。

3.编写第一个Java程序:

Java程序文件以.java作为文件扩展名。其次,Java使用大括号来表示代码块,这意味着大括号必须正确匹配,否则会导致程序出错。接下来,让我们看看一个简单的Java程序。

public class test {public static void main(String[] args) {int a,b,c;  // 定义一个变量a,类型为整数a = 5;  // 赋值变量a的值为整数5b = 100;c = a + b;System.out.println(c);  //打印变量a}
}

以上代码实现的功能很简单,就是计算并输入5+100的值105。在Java中,System.out.println()是一个输出函数,可以在控制台或命令行中输出指定的信息。

4.一个Java程序必须至少包含一个类。

Java是一种面向对象的编程语言,它基于类的概念来构建程序。类(Class)是Java的基本构建块,它定义了对象的属性(成员变量)和行为(方法)。

一个Java程序可以包含多个类,但必须有至少一个类。当编译Java程序时,会生成一个或多个.class文件,每个文件对应一个类。在运行时,JVM会加载至少一个类,并且从该类中的一个main()方法开始执行程序。

5.认识Java程序的main()方法:

在Java中,main() 方法是一个特殊的方法,它是程序的入口点。当运行一个Java应用程序时,Java虚拟机(JVM)会寻找名为 main 的方法并从那里开始执行程序。

main() 方法必须遵循以下规则:

  1. 它必须是 public 的,这意味着任何类都可以访问它。
  2. 它必须是 static 的,这意味着这个方法属于类本身,而不是类的实例。
  3. 它的返回类型必须是 void,这意味着它不返回任何值。
  4. 它必须接受一个字符串数组参数,通常命名为 args。这个数组包含了从命令行传递给程序的参数。

下面是一个典型的 main() 方法的示例:

public class HelloWorld {  public static void main(String[] args) {  System.out.println("Hello, World!");  }  
}

在这个例子中,HelloWorld 类包含了一个 main() 方法。当你运行这个Java程序时,JVM会调用这个 main() 方法,并且执行其中的代码。在这个例子中,main() 方法中的代码输出了一条消息 "Hello, World!" 到控制台。

要运行这个Java程序,你需要将其保存为一个以 .java 为扩展名的文件(例如 HelloWorld.java),然后使用Java编译器(javac)编译它,生成一个或多个 .class 文件。然后,你可以使用Java解释器(java)来运行编译后的类,并传递任何需要的命令行参数。

例如,在命令行中,在终端窗口,分别输入下面的命令:

>>>javac HelloWorld.java # 编译Java源文件,会生成一个HelloWorld.class文件

>>>java HelloWorld # 运行编译后的类(不需要.class后缀)

6.main()方法中参数String[] args:

在Java编程中,main() 方法的参数 String[] ,即字符串数组。这是Java语言规范所要求的。String[] args 表示 main() 方法接受一个名为 args 的参数,该参数是一个字符串数组。

这个数组包含了从命令行传递给Java程序的参数。例如,如果你通过命令行运行以下命令:

>>>java MyProgram arg1 arg2 arg3

那么 args 数组在 main() 方法内部将包含三个元素:args[0] 是 "arg1"args[1] 是 "arg2"args[2] 是 "arg3",在main()函数中可以使用。

请注意,即使你只传递了一个参数或没有传递任何参数,args 数组仍然是一个有效的字符串数组。如果没有传递任何参数,args 数组将是空的,但不会是 null

String[] args 是Java应用程序的标准约定,但你也可以选择使用其他类型的参数或完全省略参数。然而,如果你这样做,你的程序就不能通过标准的Java命令行方式来接收参数了。

7. 变量和数据类型:

变量可以用来存储一个值或对象。Java中需要事先声明变量的类型。Java支持各种数据类型,如整数、浮点数、字符、布尔值等。可以先声明变量类型,然后赋值;也可以首次定义时候进行初始化赋值。下面是一些示例:

int a;      // 整数

a = 5;     // 赋值

int b = 10; // 定义变量b为整数,并直接赋值

double b = 3.14; // 浮点数

String c = "Hello";// 字符串

boolean d = true; // 布尔值

8.运算符

Java支持各种运算符,包括算术运算符、比较运算符、逻辑运算符等。以下是一些示例:

int a = 10;

int b = 3;

int c = a + b; // 加法(+)

int d = a - b; // 减法(-)

int e = a * b; // 乘法(*)

int f = a / b; // 除法(/)

int g = a % b; // 取模(%)

boolean h = a > b;// 大于(>)

boolean i = a < b;// 小于(<)

boolean j = a == b;// 等于(=)

boolean k = a != b;// 不等于(!=)

boolean l = !a // 取反(!)

boolean m = a && b;// 与运算(&&)

boolean n = a || b;// 或运算(||)

9.控制流语句:

像其他编程语言一样,Java也有条件语句和循环语句,使得程序能够根据不同情况执行不同的代码块。

if语句是最基本的条件语句,其语法如下:

if (condition) {

statement1;

} else {

statement2;

}

while和for循环语句,它们分别用于循环执行一组代码块一定的次数或者迭代一个序列。

while语句的语法如下:

while (condition) {

statement;

}

for语句的语法如下:

for (initialization; condition; update) {

statement;

}

10、函数

在Java中,函数定义以“public static”开始,其后是函数返回类型、函数名、参数列表和函数体等内容。例如:

public static int add(int a, int b) {

return a + b;

}

上面的例子定义了一个名为add()的函数,它的返回值类型为int。参数a和b是传递给函数的值。函数体中的return关键字用于返回一个值。

11. 类和对象:

在Java中,类是一种自定义数据类型,它包含属性和行为。对象是类的实例,它具有类的属性和行为。下面是一个简单的类和对象的示例:

class Person {String name;int age;void get_message() {System.out.println("哈喽, 我是 " + name + ", 今年" + age + "岁啦。");}}public class test {public static void main(String[] args) {Person p = new Person();p.name = "Liuzx";p.age = 19;p.get_message();}
}

在上面的示例中,我们定义了一个名为Person的类,它包含name和age两个属性,以及get_message()方法。在主函数中,我们创建了一个Person对象,并为其设置了姓名和年龄,然后调用get_message()方法输出信息。

Java编程中有一个重要的约定:

包含main()方法的类(是程序的入口点),这是Java编译器的一个要求,Java虚拟机(JVM)在运行时查找main()方法。

总结:

(1)java是面向对象编程语言,所以其文件必须至少是一个类文件,文件后缀是.java。

(2)java程序运行的入口是main()函数,故main()函数是公开的public,静态的,无返回的,有标准的样式(public static void main(String[] args) {  })。

(3)在编写java程序时,可以在一个.java文件中编写多个类,Java编译器会把不同的类编译到不同的.class文件中。不过在使用java 运行Java程序时,需要执行的是有main方法所在的类。如上一段代码执行的是test类(比如在终端中执行:java test)。

(4)java语法中的行注释为(//),块注释为(/*  */)

(5)java编程中使用一对大括号{}定义一个代码块,通常会在左大括号 { 前加一个空格,然后在右大括号 } 后也加一个空格。

(6)在Java编程中,代码的缩进和空格使用主要是为了提高代码的可读性。虽然Java语言本身并没有明确规定应该使用多少空格进行缩进,但大多数的Java开发者都遵循一些通用的编码规范。

例如,Google的Java编码规范推荐使用2个空格进行缩进。这种风格被称为"Google Style"。然而,也有许多开发者喜欢使用4个空格进行缩进,这种风格被称为"Allman Style"。

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

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

相关文章

RabbitMQ-TTL/死信队列/延迟队列高级特性

文章目录 TTL死信队列消息成为死信的三种情况队列如何绑定死信交换机 延迟队列RabbitMQ如何实现延迟队列 总结来源B站黑马程序员 TTL TTLTTL(Time To Live):存活时间/过期时间当信息到达存活时间后&#xff0c;还没有被消费&#xff0c;会被自动清除。RabbitMQ可以对消息设置过…

Win10系統如何重置系统

Win10系統如何重置 大家可以使用Win10內建的重設電腦設定&#xff0c;如以下操作&#xff1a; 首先&#xff0c;可以先到桌面左下角的【開始】 選擇【設定】 在【設定】裡找到【更新與安全性】 在左側欄有一項【復原】 在復原的標題下&#xff0c;副標題有一項【重設此電腦】…

【algorithm】算法基础课---排序算法(附笔记 | 建议收藏)

&#x1f680;write in front&#x1f680; &#x1f4dd;个人主页&#xff1a;认真写博客的夏目浅石. &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd; &#x1f4e3;系列专栏&#xff1a;AcWing算法学习笔记 &#x1f4ac;总结&#xff1a;希望你看完…

tvm交叉编译参考资料整理

环境 ubuntu20.04&#xff0c;ndk交叉编译部署到adnroid手机 参考&#xff1a; TVM部署神经网络模型到android端_tvm android-CSDN博客 使用TVM在android中进行Mobilenet SSD部署 - 知乎

深度探析低代码:助力“数智转型”赋能中国制造

随着数字化和智能化技术的飞速发展&#xff0c;我国制造业正面临着从传统制造向智能制造的转型升级。在这个过程中&#xff0c;低代码技术作为一种创新性的软件开发模式&#xff0c;逐渐成为助力我国制造业数智转型的关键驱动力。本文将从低代码技术的原理、应用场景以及在我国…

​The Sandbox的南极之旅|链接世界:从南极洲到元宇宙

真正的发现之旅不在于寻找新的景观&#xff0c;而在于拥有新的眼光。 - 马塞尔-普鲁斯特 在这个数字世界和物理世界日益交织的时代&#xff0c;The Sandbox 的联合创始人 Arthur Madrid 和 Sebastien Borget 踏上了远离数字空间的旅程&#xff0c;前往地球上未被开发的宝藏地点…

无用工作、UBI与AI

有些隐晦和黑暗的事实无法陈述&#xff0c;因为任何的系统中“无用”的结局都是被无情的抛弃和淘汰&#xff0c;AI监督下的人类结局更是如此。 什么是无用工作&#xff1f; 无用无效工作通常指的是那些看似忙碌但实际上对社会或个人没有实质性贡献的工作。这类工作可能包括以下…

2024环境工程、能源系统与化学材料国际会议(ICEEESCM 2024)

2024环境工程、能源系统与化学材料国际会议&#xff08;ICEEESCM 2024) 一、【会议简介】 2024环境工程、能源系统与化学材料国际会议&#xff08;ICEEESCM 2024)将于2024年在西安举行。会议将围绕环境工程、能源系统与化学材料等议题展开讨论&#xff0c;旨在为从事环境工程…

ABB双语言共享充电宝投资理财源码/共享充电宝系统源码/共享充电宝市场分析/五级分销返利+地图显示模式

ABB双语言共享充电宝投资理财源码/五级分销返利地图显示模式/vue编译后前端 测试环境&#xff1a;Linux系统CentOS7.6、宝塔、PHP7.3、MySQL5.6&#xff0c;根目录public&#xff0c;伪静态laravel5&#xff0c; 源码下载&#xff1a;https://download.csdn.net/download/m0_…

人脸高清算法GFPGAN之TensorRT推理

1. 综述 最近由于做数字人项目&#xff0c;采用的是wav2lip GFPGAN进行人脸面部高清&#xff0c;但GFPGAN模型本身比较大&#xff0c;所以想着使用TensorRT来代替原始的pth推理看看能否提升运行速度&#xff0c;于是便开始了这趟windows1之下进行GFPGAN的trt推理的折腾之旅。…

varFormatter 数据格式化库 以性能优先的 快速的 内存对象格式转换

varFormatter 数据格式化 技术 开源技术栏 对象/变量格式化工具库&#xff0c;其支持将一个对象进行按照 JSON XML HTML 等格式进行转换&#xff0c;并获取到结果字符串&#xff01; 目录 文章目录 varFormatter 数据格式化 技术目录介绍获取方式 使用实例格式化组件的基本使…

图书推荐||Word文稿之美

让你的文档从平凡到出众&#xff01; 本书内容 《Word文稿之美》是一本全面介绍Word排版技巧和应用的实用指南。从初步认识数字排版到高效利用模板、图文配置和表格与图表的排版技巧&#xff0c;再到快速修正错误和保护文件&#xff0c;全面系统地讲解数字排版的技术和能力&…

靶机渗透之My File Server: 1

Name: My File Server: 1Date release: 21 Feb 2020Author: Akanksha Sachin VermaSeries: My File ServerDownload: https://drive.google.com/uc?id1w0grAomPuFaIohBcUwDiI3QIi4fj4kje&exportdownload 对于vulnhub中的靶机&#xff0c;我们都需先下载镜像&#xff0c;然…

Redis 在 Linux 系统下安装部署的两种方式详细说明

小伙伴们好&#xff0c;欢迎关注&#xff0c;一起学习&#xff0c;无限进步 Redis安装和配置 1、首先在官网下载好redis-6.0.9.tar.gzhttp://redis.io/ 或者使用 wget 命令下载&#xff1a;wget http://download.redis.io/releases/redis-6.0.9.tar.gz 2、下载使用上传到阿里…

Entry First Day 入职恩孚第一天

入职第一天&#xff0c;电脑还没配置好就去了工厂。 熟悉了一下设备&#xff0c;切了几个小玩意&#xff0c; hello world 一下。 了解了串行端口的Nodejs的库 https://github.com/serialport/node-serialport&#xff0c;以后要用这个东西和硬件通讯&#xff0c;安装&#…

css实现居中

基础代码&#xff1a; <div class"box"><div class"content"></div> </div> css实现居中的几种方式&#xff1a; 1、flex布局&#xff08;水平垂直&#xff09; .box {width: 200px;height: 200px;background-color: pink;disp…

24计算机考研调剂 | 太原理工大学

太原理工大学智能光学实验室招生2024级硕士研究生 考研调剂招生信息 学校:太原理工 专业:工学->光学工程 工学->仪器科学与技术 工学->软件工程 工学->计算机科学与技术 工学->控制科学与工程 年级:2024 招生人数:- 招生状态:正在招生中 联系方式:**…

大唐杯学习笔记:Day1

1.1 5G移动通信系统 系统整体架构 { 5 G C ( 5 G 核心网 ) N G − R A N ( 5 G 无线接入网 ) : g N B 、 n g − e N B 系统整体架构 \begin{cases} 5GC(5G核心网)\\ NG-RAN(5G无线接入网):gNB、ng-eNB \end{cases} 系统整体架构{5GC(5G核心网)NG−RAN(5G无线接入网):gNB、ng−…

分类问题经典算法 | 二分类问题 | Logistic回归:梯度下降

目录 一. 损失函数1. 交叉熵损失函数2. 梯度下降 一. 损失函数 Logistic回归算法公式推导篇中&#xff0c;我们通过对似然函数求对数&#xff0c;得到 l ( θ ) l(\theta ) l(θ)&#xff1a; l ( θ ) l n [ L ( θ ) ] ∑ i 1 M { y ( i ) l n [ h θ ( x ( i ) ) ] ( …

AI智能分析网关V4智慧环保/智慧垃圾站视频智能分析与监控方案

一、背景介绍 随着城市化进程的加速&#xff0c;垃圾处理问题日益受到人们的关注&#xff0c;传统的垃圾站管理方式已经无法满足现代社会的需求。针对当前垃圾站的监管需求&#xff0c;TSINGSEE青犀可基于旗下视频智能检测AI智能分析网关V4与安防监控视频综合管理系统EasyCVR平…