Java的基本程序设计结构


1. Java的Hello World

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

2. 注释

Java中的注释共分为三种
1.单行注释 //
2.多行注释 /* */
3.文档注释 /** */

3.数据类型

  1. 整形
类型 存储需求 取值范围
int 4字节 -231-231-1 (超过20亿)
short 2字节 -2^15 - 2^15-1
long 8字节 -2^63 - 2^63-1
byte 1字节 -128 - 127

Java7开始可以为数字字面量加下划线 1_000_000 可以表示100万

2.浮点型

类型 存储需求 取值范围
float 4字节
double 8字节
  1. char类型
    char类型表示单个字符

  2. unicode 和 char类型
    不建议使用,可以使用字符串来代替

  3. boolean类型
    boolean 有两个值:true 和 false。 在Java中boolean和整型不能互换

4. 变量

在声明变量时,变量的类型位于变量名之前。
4.1 变量的初始化
在声明一个变量后必须使用赋值语句对变量进行显示初始化,造成不要使用未初始化的变量。

4.2 常量
在Java中,利用关键字final声明常量。 例如:

public class Constants {
    public static void main(String[] args){
        final double CM_PER_INCH = 2.542122;
    }
}

关键字final表示这个变量只能被赋值一次。一旦被赋值之后,就不能再更改了。习惯上常量名使用全大写。

5. 运算符

在Java中使用算术运算符+、-、*、/表示。当参与/运算的两个操作数都是整数时,表示整数除法;否则,表示浮点除法。整数的求操作用%表示。
注意:当整数被0除的时候会产生一个异常,而浮点数被0除会得到无穷大或NaN结果。

1. 数学函数与常量。

在Math类中,包含了各种各样的数学函数。

1.1 平方根:Math.sqlrt();
1.2 幂运算:Math.pow(x,y);
1.3 可以判断一个数的奇偶: floorMod();
1.4 常用的三角函数

  • Math.sina
  • Math.cos
  • Math.tan
    1.5 Java还提供了两个用于表示π和e常量的近似值:
    Math.PI
    Math.E
2. 数值类型之间的转换

当使用两个数值进行二元操作时,先要将两个操作数转换为同一种类型,然后再进行计算。
如果两个操作数中有一个是double类型,另一个操作数就会转成double类型。
否则,如果其中一个操作是float类型,另一个操作数就会转成float类型。
否则,如果其中一个操作数是long类型,另一个操作数将会转换为long类型。
否则,两个操作数都将被转换为int类型。

3. 强制类型转换

double x = 9.997;
int nx = (int) x;

4. 综合赋值和运算符

可以在赋值中使用二元运算符。
x += 4;

5. 自增与自减运算符

i++; ++i; i--; --i;

6. 关系和布尔运算

==、 != 、 && 、 || 、 ? :

7. 位运算符

&(与) |(或) ~(非) ^(异或) >>(左位移) <<(右位移) >>>(以0填充高位左位移) <<<(没有)

8. 括号与运算符优先级

括号内的优先级最高,最先计算

9. 枚举

6.字符串

每个用""引号引起来的字符串都是String类的一个实例。

  1. 子串
    String类的substring方法可以从一个较大的字符串提取出一个子串

  2. 拼接
    Java允许使用+号连接两个字符串。也可以使用静态的join方法。
    String all = String.join("/", "S", "M", "L");
    // all = "S/M/L"。 使用一个定界符进行分隔。

  3. 不可变字符串
    字符被确定后,他本身是不可以被改变的。

  4. 检测字符串是否相等
    可以使用equals方法检测两个字符串是否相等。
    equalsIgnoreCase方法在检测字符串是否相等时,不区分大小写
    千万不要使用 == 来检测两个字符串是否相等

  5. 空串与NULL串
    空串""是长度为0的字符串。 NULL串表示这个字符串为null。

  6. 码点与代码单元
    这里的知识比较晦涩难懂,在Java核心技术卷I第49页上。

  7. String API
    Java核心技术卷I P50

  8. 阅读联机API文档
    Java核心技术 卷I P52

  9. 构建字符串
    采用字符串连接的方式来构建字符串效率比较低,每次连接字符串,都会构建一个新的String对象,既耗时,又浪费空间。可以使用StringBuilder类来避免
    StringBuilder 是线程不安全的在多线程的环境下,应该使用StringBuffer。

7.输入输出I/O

  1. 读取输入

  2. 格式化输出
    System.out.printf(); 的格式化符号。

3.文件输入与输出

8.控制流程

  1. {} 语句块
  2. 条件语句
    if
  3. 循环
    while
    do while
  4. 确定循环
    for
  5. 多重选择: swtich语句
    switch(){
    case 1:
    ...
    break;
    }
  6. 中断流程控制语句 break

9.大数值

java.math包下的BigInteger和BigDecimal。
BigInteger add(BigInteger other)
BigInteger subtract(BigInteger other)
BigInteger multiply(BigInteger other)
BigInteger divide(BigInteger other)
BigInteger mod(BigInteger other)

java.math.BigDecimal
BigDecimal add(BigDecimal other)
BigDecimal subtract(BigDecimal other) 
BigDecimal multiply(BigDecimal other)
BigDecimal divide(BigDecimal other RoundingMode mode)

10.数组

数组是一种数据结构,用来存储同一类型的集合。通过下标可以访问数组中的每 一个值。
int[] a = new int[100]; 声明了长度为100的数组,可访问的下标为0-99;

  1. for each循环

  2. 数组初始化及匿名数组
    int[] a = {1,2,3,4}; //在声明时初始化数组
    匿名数组: new int[]{1,2,3,4}; //初始化了一个匿名数组

  3. 数组拷贝
    在Java中,允许将一个数组变量拷贝给另一个数组变量。这时,两个变量将引用同一个数组
    int[] luckyNumbers = smallPrimes;
    luckNumbers[5] = 12;
    如果希望将值拷贝到一个新的数组中,可以使用Arrays类中的copyOf方法

  4. 命令行参数 main方法接收一个String[] 参数,这里便是命令行参数

  5. 数组排序:Ayyay.sort()

  6. 多维数组

  7. 不规则数组

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,378评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,356评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,702评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,259评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,263评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,036评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,349评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,979评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,469评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,938评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,059评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,703评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,257评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,262评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,501评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,792评论 2 345

推荐阅读更多精彩内容