My Blog

Java基础语法

​记录Java基础语法与C语言的一些差别。

一、输入输出

  • 输入:

    Scanner in = new Scanner(System.in);
  • 输出:

    System.out.println(in.nextLine());

二、类型转换

  • ## 自动类型转换(编译器完成):

byte(8bits), short(16bits), char(16bits|Unicode字符) –> int(32bits) –> long(64bits) –> float(32bits) –> double(64bits)

  • ## 强制类型转换(手动完成):

如:

double numbers;
int integer = (int)numbers; //(int)后只转换一个数字

三、判断两浮点数相等

利用 |a - b| < ε 来判断

四、随机生成数

Math.random() 来生成 [0 , 1) 的浮点数,再通过四则运算生成 [a , b) 内的浮点数

五、用标签退出多重循环

Java 中引入标签,来为循环体取名字,以便退出多重循环。如下:

label:
	for(...) {
        for(...) {
            ...;
            break label;
        }
    }

六、数组

  1. 创建数组

    int[] numbers = new int[100];  //默认全为0
    		|				  |
    //    数组名 			可以是常量/变量
                   
    //创建初始化:
    int[] scores = {88, 89, ...};

数组赋值,则会让两个数组变量管理同一串数组

   int[] a = new int[10];
   int[] b = a;

img

  1. ## 遍历数组

(1)常规遍历

   for(int index = 0; index < array.length; inndex++ ) {
       if (x == array[index]) {
           found = true;
           break;
       }
   }

(2)for - each遍历

   for (int k : array) {		// k的类型与数组类型相同
       if (x == k) {			// 缺点:无下标信息,适合读取数组内容
           found = true;
           break;
       }
   }

七、包裹类型

类似 C 中的一些标准库所提供的函数。

作用 :获取该类型的属性和行为

基本类型 包裹类型
boolean Boolean
char Character
int Integer
double Double

例如:

Integer.MAX_VALUE – int类型能表示的最大值

Character.isDigit(ch); – 判断ch是否是数字 0 - 9

Character.toLowerCase() – 将字符变为小写字母

八、字符串变量

String 是一个类,类似数组,字符串变量管理一串字符串。

创建初始化

(1) 对象创建,“Hello” 放在

String s = new String("Hello");

(2) 直接创建,“Hello”放在 常量池

String s = "Hello";

一些字符串操作

(1)比较字符串内容是否相同

str1.equals(str2);

(2)比较字符串大小

str1.compareTo(str2);

从第一个字符开始比较,相同比较下个字符,不同则返回字符的ASCII差值

(3)获取字符串长度

str1.length();

(4)返回str1[index]的内容

str1.charAt(index);