Java基础格式

  1. Java中运行的每一行代码都必须在class内。
  2. 在我们的示例中,我们将类命名为MyClass。类应始终以大写首字母开头。
  3. 每个Java程序都有一个class 类,该名称必须与文件名匹配,并且每个程序都必须包含main()方法。
  4. 花括号{}标记代码块的开头和结尾。
  5. 每个代码语句必须以分号;结尾。
    1. public class MyClass {
    2. public static void main(String[] args) {
    3. System.out.println("Hello World");
    4. }
    5. }

基础输出语句:System.out.println()

  1. public static void main(String[] args) {
  2. System.out.println("Hello World");
  3. }
  4. 结果:Hello World

Java注释

  1. // 单行注释
  1. /* 多行注释
  2. 多行注释
  3. */

Java变量

变量类型

  • String - 存储文本,例如“Hello”。字符串值用双引号引起来
  • int - 存储整数(整数),不带小数,例如123或-123
  • float - 存储浮点数,带小数,例如19.99或-19.99
  • char - 存储单个字符,例如’a’或’B’。字符值用单引号引起来
  • boolean - 存储具有两种状态的值:truefalse

创建变量

先声明变量类型,然后再赋值

  1. type variable = value;
  2. 类型 变量 = 值;

Final 变量

  1. final int myNum = 15;
  2. //将变量声明为“final”或“constant”,这意味着不可更改和只读

声明多个变量

要声明多个相同类型的变量,请使用逗号分隔的列表:

  1. int x = 5, y = 6, z = 50;
  2. System.out.println(x + y + z);

标识符

  • 所有Java 变量必须用唯一的名称标识。这些唯一的名称称为标识符。
  • 标识符可以是短名称(如x和y),也可以是更具描述性的名称(age,sum,height)。

    注意:建议使用描述性名称,以创建可理解和可维护的代码:

  1. // 很好
  2. int minutesPerHour = 60;
  3. // 可以,但是不太容易理解m的实际意思
  4. int m = 60;

构造变量名称(唯一标识符)的一般规则是:

  • 名称可以包含字母,数字,下划线和美元符号
  • 名称必须以字母开头
  • 名称应以小写字母开头,并且不能包含空格
  • 名称也可以以$和_开头(但在本教程中我们将不使用它)
  • 名称区分大小写(“myVar”和“myvar”是不同的变量)
  • 保留字(例如Java关键字,例如intboolean)不能用作名称

Java数据类型

如上一章所述,Java中的变量必须是指定的数据类型:

  1. int myNum = 5; // Integer (whole number)整型
  2. float myFloatNum = 5.99f; // Floating point number 浮点型
  3. char myLetter = 'D'; // Character 字符
  4. boolean myBool = true; // Boolean 布尔型
  5. String myText = "Hello"; // String 字符串型

数据类型分为两组:

  • 原始数据类型-包括byteshortintlongfloatdoublebooleanchar
  • 非原始数据类型- 例如StringArraysClasses

原始数据类型

基本数据类型指定变量值的大小和类型,并且没有其他方法。Java中有八种原始数据类型:

数据类型 大小 描述
byte 1 byte 存储从-128到127的整数
short 2 bytes 存储从-32,768到32,767的整数
int 4 bytes 存储从-2,147,483,648到2,147,483,647的整数
long 8 bytes 存储从-9,223,372,036,854,775,808到9,223,372,036,854,775,807的整数
float 4 bytes 存储小数。 足以存储6到7个十进制数字
double 8 bytes 存储小数。 足以存储15个十进制数字
boolean 1 bit 存储false或true值
char 2 bytes 存储单个字符/字母或ASCII值

非原始数据类型称为引用类型,因为它们引用对象。

Boolean表达式

一个Java表达式返回一个布尔值:true或false。

/////

  1. int x = 10;
  2. int y = 9;
  3. System.out.println(x > y); // 返回 true, 因为10大于9
  4. System.out.println(x == 10); // 返回 true, 因为x的值是10 跟它比较值相等。
  5. System.out.println(10 == 15); // 返回 false, 因为10 跟 15 不相等

Java类型转换

类型转换:将一种原始数据类型的值分配给另一种类型

扩大转换(自动)-将较小的类型转换为较大的类型 byte -> short -> char -> int -> long -> float -> double 缩小转换(手动)-将较大的类型转换为较小的类型 double -> float -> long -> int-> char -> short -> byte

**

扩大转换

将较小尺寸的类型传递给较大尺寸的类型时,将自动完成加宽转换:

  1. public class MyClass {
  2. public static void main(String[] args) {
  3. int myInt = 9;
  4. double myDouble = myInt; // int转double自动转换
  5. System.out.println(myInt); // Outputs 9
  6. System.out.println(myDouble); // Outputs 9.0
  7. }
  8. }

缩小转换

(强制转换)必须通过将类型放在值前面的括号中来手动进行缩小转换:

  1. public class MyClass {
  2. public static void main(String[] args) {
  3. double myDouble = 9.78;
  4. int myInt = (int) myDouble; //手动转换: double 转 int,(强制转换)
  5. System.out.println(myDouble); // Outputs 9.78
  6. System.out.println(myInt); // Outputs 9
  7. }
  8. }

Java运算符

运算符用于对变量和值执行运算。

算数运算符

运算符 名字 描述 例子
+ 加成 将两个值相加 x + y
- 减法 从另一个减去一个值 x - y
* 乘法 将两个值相乘 x * y
/ 除法 将一个值除以另一个 x / y
% 模量 返回除法余数 x % y
++ 增量 将变量的值增加1 ++x
减量 将变量的值减1 —x

逻辑运算符

运算符 名字 描述
&& 如果两个语句都为true,则返回true
|| 如果其中一个语句为true,则返回true
! 反转结果,如果结果为true,则返回false

关系运算符

运算符 名字 例子
== 等于 x == y
!= 不相等 x != y
> 大于 x > y
< 小于 x < y
>= 大于或等于 x >= y
<= 小于或等于 x <= y

赋值运算符

运算符 例子 等价于
= - * /
加减乘除
+= x += 3 x = x + 3
-= x -= 3 x = x - 3
*= x *= 3 x = x * 3
/= x /= 3 x = x / 3
%= x %= 3 x = x % 3
位运算符 例子 等价于
&= x &= 3 x = x & 3 (全一为一)
|= x |= 3 x = x | 3 (有一为一)
^= x ^= 3 x = x ^ 3 (相异为一)
~ x = ~x (按位取反)
>>= x >>= n x = x >> n (右移,x=x/2的n次方)
<<= x <<= n x = x << n (左移,x=x*2的n次方)

Java字符串(String)

字符串用于存储文本。一个String变量包含双引号括起来的字符的集合:

  1. String greeting = "Hello";

字符串方法

注意:Java中的String实际上是一个对象,其中包含可以对字符串执行某些操作的方法。

字符串长度 对象名.length()
字符串转大写 对象名.toUpperCase()
字符串转小写 对象名.toLowerCase()
查找字符,返回首次出现索引 对象名.indexOf(“预查找字符”)

字符串串联

  • +运算符用于连接两个字符串
  • +运算符用于数字和字符串,结果也是字符串串联

Java数学Math

Math.min ( x , y ) 返回x,y中的最小值
Math.max ( x , y ) 返回x,y中的最大值
Math.abs ( x ) 返回x的绝对值
Math.sqrt ( x ) 返回x的正平方根
Math.random( x , y ) 返回 [ 0 , 1 )之间的随机数

选择结构

**

if语句

  1. if (condition) {
  2. // 条件(condition)为真时要执行的代码块
  3. }

if else语句

  1. if (condition) {
  2. // 条件为真时要执行的代码块
  3. } else {
  4. // 条件为假时要执行的代码块
  5. }

else if语句

  1. if (condition1) {
  2. // condition1为真执行
  3. } else if (condition2) {
  4. // condition1为假并且condition2为真时执行这里
  5. } else {
  6. // 上面condition1和condition2都为假 将会执行这里
  7. }

简写If … Else(三元运算符)

  1. variable = (condition) ? expressionTrue : expressionFalse;
  2. 变量 = 条件 ? 表达式为True : 表达式为False

多分枝选择:Switch

  • switch表达式只计算一次
  • 将表达式的值与每个case的值进行比较
  • 如果匹配,则执行相关的代码块
  • breakdefault关键字是可选的
  • break:当Java到达一个break 关键字时,它将跳出switch
  • default:当没有case匹配,默认运行的代码块
  1. switch(expression) {
  2. case x:
  3. // code block
  4. break;
  5. case y:
  6. // code block
  7. break;
  8. default:
  9. // code block
  10. }

循环结构


While循环

只要指定的条件是truewhile循环就会循环遍历代码块

  1. while (condition) {
  2. // 只要condition为true 这里就会执行
  3. }

注意:不要忘记增加条件中使用的变量,否则循环将永远不会结束(变成死循环)!

**

do/while循环

先执行,后判断条件

  1. do {
  2. // code block to be executed
  3. }
  4. while (condition);

**

for循环

当您确切知道要遍历一段代码的次数时,请使用for循环而不是while循环 只要指定的条件是truefor循环就会循环遍历代码块

  1. for (statement 1(先执行一次); statement 2(执行条件); statement 3(每次代码块执行后执行)) {
  2. // 执行代码块
  3. }

语法分析

  • statement 1 在执行代码块之前执行(仅一次)。
  • statement 2 定义了执行代码块的条件。
  • statement 3 在每次执行代码块后都会执行(每次)。

for-each循环

专用于循环遍历数组中的元素

  1. for (type variableName : arrayName) {
  2. // 要执行的代码块
  3. }
  4. 例:
  5. String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
  6. for (String i : cars) {
  7. System.out.println(i);
  8. }
  9. // output: Volvo
  10. BMW
  11. Ford
  12. Mazda

Break与Continue

Break

用于跳出循环或选择结构

Continue

将中断一次迭代(在循环中),并在循环中继续进行下一次迭代

  1. for (int i = 0; i < 10; i++) {
  2. if (i == 4) {
  3. continue; //跳过4
  4. }
  5. System.out.println(i);
  6. }
  7. output
  8. 0
  9. 1
  10. 2
  11. 3
  12. 5
  13. 6
  14. 7
  15. 8
  16. 9