欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > 《廖雪峰Java教程》——Java快速入门

《廖雪峰Java教程》——Java快速入门

2024/10/24 11:16:09 来源:https://blog.csdn.net/MaTF_/article/details/140121206  浏览:    关键词:《廖雪峰Java教程》——Java快速入门

参考资料:

  • Java快速入门 - 廖雪峰的官方网站 (liaoxuefeng.com)

Java简介

Java 介于编译型语言和解释型语言之间。Java 是将代码编译成一种“字节码”,然后,针对不同平台编写虚拟机,不同平台的虚拟机负责加载字节码并执行,这样就实现了“一次编写,到处运行”的效果。

第一个Java程序

一个简单的 Java 源代码:

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

Java规定,某个类定义的 public static void main(String[] args) 是Java程序的固定入口方法。当我们把代码保存为文件时,文件名必须是 Hello.java

Java程序基础

Java程序基本结构

/*** 可以用来自动创建文档的注释*/
public class Hello {public static void main(String[] args) {// 向屏幕输出文本:System.out.println("Hello, world!");/* 多行注释开始注释内容注释结束 */}
} // class定义结束
  • 类名推荐使用大驼峰命名法,方法名推荐使用小驼峰命名法;
  • Java 入口程序规定的方法必须是静态方法,方法名必须为 main,括号内的参数必须是 String 数组。

变量和数据类型

Java 的数据类型可以分为基本类型引用类型,基本类型包括:

  • 整型:byteshortintlong
  • 浮点型:floatdouble
  • 字符型:char
  • 布尔型:boolean ,只有 truefalse 两种取值,占存储空间大小没有规定,通常用 4 字节整型表示。

引用类型变量类似 C++ 的指针,存储地址,null 表示空值。

常量用 final 修饰,常量名通常全部大写;var 关键字可以让编译器自动推断变量类型,类似 C++ 的 auto

final double PI = 3.14;
var sb = new StringBuilder();

整数运算

若参与运算的两整型类型不一致,则计算结果为较大类型的整型:

short s = 1234;
int i = 123456;
int x = s + i; // s自动转型为int
short y = s + i; // 编译错误!

浮点数运算

整数除以 0 会报错;浮点数除以 0 会返回特殊值:

double d1 = 0.0 / 0; // NaN
double d2 = 1.0 / 0; // Infinity
double d3 = -1.0 / 0; // -Infinity

浮点型强制转换为整型时,只保留整数部分。如果转型后超过整型的最大表示范围,则返回整型的最大值

布尔运算

boolean b = false;
boolean result = b && (5 / 0 > 0);	// 由于短路运算,整型除以0不会报错

字符和字符串

Java 使用 Unicode 表示字符,占 2 个字节。

字符串类型 String 是引用类型,且不可变

String s1 = "hello";
String s2 = s1;
s1 = "world";	// 此时s2的内容依然为hello

上述代码中,编译器首先创建字符串 hello ,然后让变量 s1 指向它,接着让变量 s2 也指向它;然后,编译器创建字符串 world ,让 s1 指向它,此时 s2 仍然指向原来的 hello

数组类型

数组大小不可变,可以通过索引访问数组元素,超出范围则在运行时报错。

流程控制

输入输出

输出

System.out.printSystem.out.printlnSystem.out.printf

输入

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in); // 创建Scanner对象System.out.print("Input your name: "); // 打印提示String name = scanner.nextLine(); // 读取一行输入并获取字符串System.out.print("Input your age: "); // 打印提示int age = scanner.nextInt(); // 读取一行输入并获取整数System.out.printf("Hi, %s, you are %d\n", name, age); // 格式化输出}
}

if判断

和 C++ 没区别。

switch多重选择

普通 switch 表达式和 C++ 基本相同,区别是变量类型可以为 String

Java 12 提供了一种新的 switch 表达式,该形式只会执行一个分支,不需要 break ,且可以使用返回值:

public class Main {public static void main(String[] args) {String fruit = "orange";int opt = switch (fruit) {case "apple" -> 1;case "pear", "mango" -> 2;default -> {int code = fruit.hashCode();yield code; // switch语句返回值}};System.out.println("opt = " + opt);}
}

While循环

和 C++ 没区别。

do While循环

和 C++ 没区别。

for循环

和 C++ 没区别。

breakcontinue

和 C++ 没区别。

数组操作

遍历数组

便捷方法:使用 Array.toString()

int[] ns = { 1, 1, 2, 3, 5, 8 };
System.out.println(Arrays.toString(ns));
// 输出为 [1,1,2,3,5,8]

数组排序

使用 Array.sort()

int[] ns = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36 };
Arrays.sort(ns);

多维数组

数组的数组,数组长度不要求相同。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com