文章目录
- 前言:
- 1. 注释
- 2. 字面量
- 3. 变量详解
- 3.1 变量的定义
- 3.2 变量里的数据存储原理
- 3.3 数据类型
- 3.4 关键字、标识符
- 4. 方法
- 4.1 方法是啥?
- 4.2 方法的完整定义格式
- 4.3 方法如何使用:
- 4.4 方法的其他形式
- 4.5 方法的其他注意事项
- 4.5.1 方法是可以重载的
- 4.5.2 无返回值的方法中可以直接通过单独的 `return`; 立即结束当前的方法执行。
- 5. 类型转换
- 5.1 自动类型转换
- 5.2 强制类型转换
- 6. 表达式的自动类型提升
- 7. 输入输出
- 总结:
前言:
在计算机编程的众多语言中,Java以其独特的优势和广泛的应用领域,成为了学习和使用的首选。对于初学者而言,理解Java的基础概念和语法是至关重要的。本文旨在为读者提供一个系统的Java基础知识概览,包括注释的使用、字面量的理解、变量的定义与数据类型、方法的运用、类型转换的规则以及表达式的自动类型提升等。通过这些基础知识的学习,读者将能够构建起对Java编程语言的基本认识,为进一步的学习和实践打下坚实的基础。
1. 注释
- 单行注释:
//
- 多行注释:
/* */
- 文档注释:
/** */
2. 字面量
字面量:就是程序中能直接书写的数据,学这个知识的重点是:搞清楚Java程序中数据的书写格式。
java">public static void printLiteral() {// 输出几个常见的字面量// 1.整型字面量System.out.println(1);// 2.浮点型字面量System.out.println(1.0);// 3.布尔型字面量System.out.println(true);// 4.字符型字面量System.out.println('A');// 5.字符型字面量,需要使用转义字符System.out.println("\"");System.out.println("hallo\n world");System.out.println("hello\tworld");
}
3. 变量详解
3.1 变量的定义
java">// 定义一个方法,来学习变量的定义
public static void printVariable() {// 定义一个变量,保存一个整数值int num = 10;// 定义一个变量,保存一个浮点值double score = 98.5;// 定义一个变量,保存一个字符值char gender = '男';// 定义一个变量,保存一个布尔值boolean flag = true;// 定义一个变量,保存一个字符串值String name = "张三";// 打印变量的值System.out.println(num);System.out.println(score);System.out.println(gender);System.out.println(flag);System.out.println(name);System.out.println("--------------------------------");
}
3.2 变量里的数据存储原理
java">char ch = 'A'; // 存的是65的二进制
System.out.println(ch + 1); // 输出:66
char ch2 = 'a'; // 存的是97的二进制
System.out.println(ch2 + 1); // 输出:98
java">// 程序中可以直接写进制数据
// 二进制
int i1 = 0b101; // 5
System.out.println(i1);
// 八进制
int i2 = 010; // 8
System.out.println(i2);// 十六进制
int i3 = 0xA; // 10
System.out.println(i3);
3.3 数据类型
- 基本数据类型
java">// 设计一个方法,打印出8种数据类型定义的变量public static void printVariable() {// 1. 整型byte b = 10;short s = 20;int i = 30;// 注意:Java中long型数据需要加L,否则默认为int型long l1 = 5346234632L;long l = 40;// 2. 浮点型// 注意:Java中float型数据需要加f,否则默认为double型float f = 50.5f;double d = 60.6;// 3. 字符型char c = 'a';// 4. 布尔型boolean bool = true;System.out.println(b);System.out.println(s);System.out.println(i);System.out.println(l1);System.out.println(l);System.out.println(f);System.out.println(d);System.out.println(c);System.out.println(bool);}
- 引用数据类型
3.4 关键字、标识符
- 关键字
Java 的关键字是语言中已经预定义的词,它们具有特殊的语法意义。关键字不能用作标识符(例如变量名、方法名或类名)。以下是一些常见的 Java 关键字的例子:
public
:用来声明公共访问权限。
class
:用于定义一个类。
interface
:用于定义一个接口。
void
:表示一个方法不返回任何值。
int
、float
、double
、char
、boolean
:基本数据类型的声明。
if
、else
、switch
:控制流语句。
for
、while
:循环语句。
new
:用于创建新的对象实例。
return
:从方法返回值或结束方法执行。
- 标识符
标识符是在 Java 程序中由程序员定义的名称,用于给变量、类、方法、包等命名。标识符遵循一定的规则:
- 可以包含字母、数字、下划线 _ 和美元符号 $。
- 必须以字母、下划线或美元符号开头,不能以数字开头。
- 区分大小写,例如 MyVariable 和 myvariable 是两个不同的标识符。
- 不能使用 Java 的关键字作为标识符。
- 虽然不是强制要求,但建议标识符应尽量有意义,并且遵循 Java 的命名约定,例如变量名通常使用小驼峰式命名法(camelCase),即第一个单词首字母小写,后续每个单词首字母大写。
4. 方法
4.1 方法是啥?
方法是一种用于执行特定任务或操作得代码块,代表一个功能,它可以接收数据进行处理,并返回一个处理后得结果。
4.2 方法的完整定义格式
4.3 方法如何使用:
方法必须调用才能执行,调用格式:方法名称(数据)。
java">public static void main(String[] args) {// 目标:掌握方法的定义和调用int sum = add(10, 20);System.out.println(sum);System.out.println("--------------------------");
}// 定义一个方法,求任意两个整数的和并返回
public static int add(int a, int b) {return a + b;
}
4.4 方法的其他形式
java">// 需求:打印3行"Hello World",不需要返回值,不需要参数
// 注意:如果方法没有返回值,那么调用的时候,可以省略括号中的参数
// 无参数,无返回值
public static void printHelloWorld() {System.out.println("Hello World");System.out.println("Hello World");System.out.println("Hello World");
}// 需求3:获取一个指定位数的验证码返回
// 掌握方法的定义格式
// 需要接收数据吗? 需要,需要接收位数。 int len
// 需要返回数据吗? 需要,返回一个验证码。 String
// 有参数有返回值的方法
public static String getVerifyCode(int len) {String code = "";for (int i = 0; i < len; i++) {int num = (int) (Math.random() * 10);code += num;}return code;
}
4.5 方法的其他注意事项
4.5.1 方法是可以重载的
一个类中,出现多个方法的名称相同,但是它们的形参列表是不同的,那么这些方法就称为方法重载了。
java">// 定义一个方法,打印一个整数
public static void print(String str) {System.out.println(str);
}// 定义一个重载方法
public static void print(int a) {System.out.println(a);
}// 定义一个重载方法
public static void print(double b) {System.out.println(b);
}
// 注意:方法重载只关心方法名称相同,形参列表不同(类型不同,个数不同,顺序不同),其他都无所谓// 需求:发射导弹
public static void fire(int x, int y) {System.out.println("发射导弹:" + x + "," + y);
}// 定义一个重载方法
public static void fire(int x, int y, int z) {System.out.println("发射导弹:" + x + "," + y + "," + z);
}
4.5.2 无返回值的方法中可以直接通过单独的 return
; 立即结束当前的方法执行。
java">// 设计一个除法功能
public static void div(int a, int b) {if (b == 0) {System.out.println("除数不能为0");return; // 提前结束方法, 卫语言风格}System.out.println(a / b);
}
5. 类型转换
5.1 自动类型转换
什么是自动类型转换,为什么要自动类型转换?
- 类型范围小的变量,可以直接赋值给类型范围大的变量。
自动类型转换在计算机中的执行原理:
5.2 强制类型转换
什么是强制类型转换,为什么要进行强制类型转换?
- 类型范围大的变量,不可以直接赋值给类型范围小的变量,会报错,需要强制类型转换过去
java">int i = 20;
// print3(i); // 类型范围大的变量不能直接赋值给类型范围小的变量,会报错!// 强制类型转换,类型 变量2 = (类型)变量1
print3((byte) i); // public static void print3(byte a)// 强转可能导致数据溢出
print3((byte) 129); // 打印-12
注意事项:
- 强制类型转换可能造成数据(丢失)溢出;浮点强转成整数,直接丢掉小数部分,保留整数部分返回
java">double k = 3.14;
int l = (int) k; // 浮点数转整型,小数部分会被截掉
System.out.println(l); // 3
6. 表达式的自动类型提升
java">// 需求:接收各种类型的数据运算
public static double calc(int a, int b, double c, char r) {// 表达式的最终结果类型式由最高类型决定的return a + b +c + r;
}public static int calc2(byte a, byte b) {// byte short char 运算时会直接提升成 int 运算return a + b;
}public static byte calc3(byte a, byte b) {byte c = (byte)( a + b); // 不建议这样写return c;
}
7. 输入输出
- 输出:把程序中的数据展示出来。
java">System.out.println("Hello World!");
- 输入:程序读取用户键盘输入的数据。
通过 java 提供的 Scanner 程序来实现
java">// 需求:写一个方法,可以让用户键盘输入用户名和年龄,然后打印出来。
public static void printUserInfo() {// 2. 创建对象(抄写这一行代码,得到一个Scanner扫描对象)Scanner sc = new Scanner(System.in);// 3.获取用户输入System.out.println("请输入用户名:");// 让程序暂停,等待用户输入一个字符串,只到输入回车键,把名字交给变量name记住再继续执行。String name = sc.next();System.out.println("请输入年龄:");// 让程序暂停,等待用户输入一个整数,只到输入回车键,把年龄交给变量age记住再继续执行。int age = sc.nextInt();// 4. 打印System.out.println("用户名:" + name + ",年龄:" + age);
}
总结:
本文详细介绍了Java编程的基础知识,从基础的注释和字面量开始,逐步深入到变量的定义、数据存储原理、数据类型、关键字与标识符的规则。在方法部分,我们探讨了方法的定义、调用、重载以及如何通过参数和返回值实现功能的封装。类型转换章节则解释了自动类型转换和强制类型转换的原理及其应用,同时指出了在类型转换过程中可能遇到的数据溢出问题。表达式的自动类型提升让我们理解了在不同数据类型参与运算时Java如何处理类型提升。最后,输入输出部分展示了如何通过Scanner类实现用户与程序的交互。
通过本文的学习,读者应该能够掌握Java编程的基础技能,并能够将这些知识应用到实际的编程实践中。Java编程是一个不断学习和探索的过程,希望本文能够作为读者学习Java的起点,激励读者不断深入探索Java的更多高级特性和应用。随着实践的积累,读者将能够更加熟练地运用Java解决实际问题,开发出高效、可靠的软件应用。