跳到主要内容

2. 一点基本语法

基础部分

1.输入输出

1.1.输入

next():读取一个单词
nextLine():读取一行(包括空格)
p.s. 从键盘接收到的数据只有字符串 String 类型,若想接收 char 类型可进行以下操作:

char c = reader.next().charAt(0);
//或者
String c = reader.next();
char c2 = c.toCharArray()[0];

1.2.输出

System.out.println():输出并换行
System.out.print():输出但不换行

2.标识符

用来标识类、方法、变量、数组、文件的有效字符序列称为标识符

标识符

1
不能是保留关键字
不能数字开头
不能包含空格
不能包含非法字符
区分大小写(eg.Int 为合法标识符)

p.s.

  1. 类名:每个单词的首字母都要大写;
    方法名:第一个单词首字母小写,其余单词首字母大写(驼峰命名法)
  2. 常量的名字要全部大写,单词之间用下划线隔开 eg. SQUARED_PI 表示 π²

3.注释

1.常规的///* */
2.文档注释/** */——可用 javadoc 程序可以提取出来形成 html 格式文档

/**
这是一个文档注释
@param a
@return
*/

这里的@param@return用来标记参数和返回值

提取文档注释案例

/**
@author: OYY
@version: 1.0
*/
public class Square
{
/**
方法calculateArea()用来计算正方形的面积
@param a 代表正方形的边长
@return 该方法返回正方形的面积
*/
public static double calculateArea(double a)
{
return a * a;
}
}
cmd

对于以上代码,我们可以在cmd中用javadoc命令来提取文档注释:

  javadoc -d doc -author -version Square.java

其中,doc为相对路径,在本例中指的是当前目录下的 doc 文件夹,也可将其替换为绝对路径

eclipse

“项目”->“生成 javadoc”

4.运算符

  1. 运算符两边按最高精度的类型决定结果精度
    eg. 9/4.0 = 2.25

  2. ! > 算数运算符 > 关系运算符 > && > || > 赋值运算符
    p.s. 条件运算符只高于赋值

位运算符

仅限于 int 和 long,且以二进制按每一位运算
01. &:按位与(1+0 = 0; 1+1 = 1)
02. |:按位或(1+0 = 1)
03. ^:按位异或(相同为 0,否则 1)
04. ~:按位非(0 变 1,1 变 0)
05. <<:左移(低位【右边的空位】补 0)
06. >>:右移(高位【左边的空位】补: 正数补 0,负数补 1

  //05.
int a = 7; a<<2;
/**
* 这里a = 00000000 00000000 00000000 00000111
* 左移后变成 00000000 00000000 00000000 00011100
* 所以 a<<2 = 28
*/
a = 28;

//06.
int b = -8; b>>2;
/**
* 这里 -8是8的补码(按位取反+1),即b = 11111111 11111111 11111111 11111000
* 右移后变成 11111111 11111111 11111111 11111110
* 所以 b>>2 = -2
*/
b = -2;

5.Continue 和 Break

Break 执行跳出循环;
Continue 执行继续下一次循环,也就是说在本次循环中 continue 后面的语句不会被执行

6.数组

float num[] = {1,2,3,4}; //正确

// 错误
float numm[];
numm[] = {1,2,3,4};

// 正确
float numm[] = new float[4];
numm[0] = 1; numm[1] = 2; numm[2] = 3; numm[3] = 4;

Java 创建数组时,要么直接赋初值,要么用 new 开辟地址空间,不能像变量那样先声明后赋值。

注意事项

1.Java 允许使用 已知的 int 变量(即常量)制定数组的长度:

int size = 30; double n[] = new double[size];
  1. Java 不允许在声明数组的中括号内指定数组元素个数
// 错误!!
int a[5] = {1,2,3,4,5};
  1. 数组.length 用来获取一维数组的长度以及二维数组的行数

7.七七八八的 bug 总结

1. 不能在类中写语句,只能在方法中写语句

要在方法里写语句

类底下只能定义一些东西,就像数据结构的结构体变量那样,不能直接写语句。(而且报错还很诡异..
2