第3章 java的基本程序设计结构

一个简单的java程序,注释,数据类型,变量,运算符,字符串,输入输出,控制流程,大数值,数组

3.1 一个简单的java程序

public class FirstSample{
    public static void main(String[] args){
        System.out.println("Hello World!");
    }
}
  • java是一个强类型语言。
  • java对大小写敏感。
  • java定义类名必须以字母开头,后面可以跟字母和数字的任意组合,长度上基本没有限制,不能使用java保留字。
  • java类名通常采用首字母大写的驼峰式命名法。

3.2 注释

在java中 有三种注释,单行注释(//),多行注释(/**/),文档注释(/** */)。


3.3 数据类型

在Java中,一共有8中基本数据类型,其中有4中整型、2种浮点类型、1种用于表示Unicode编码的字符单元的字符类型char和一种用于表示真值的boolean类型。

3.3.1整型

在java7中数字可以采用_分隔。
在java中整数默认为int,long后面加L;java中默认10进制,十六进制数值前加0x,八进制前加0区分。

3.3.2 浮点类型


java中浮点数默认为double,float后面加F区分。
在不可以有误差的金融计算中,不要使用浮点数,应该使用BigDecimal类。

3.3.3 char类型

单引号''


3.3.4 boolean 类型

boolean(布尔)类型有两个值:false和true,用来判定逻辑条件。

3.4变量

在Java中,每一个变量属于一种类型(type)。

double salary;
int vacationDays;

在Java中,声明一条完整的语句必须以分号结束。
变量命名必须以字母或下划线开头,后面可以包含字母下划线和数字。

int x,y;

可以在一行声明多个变量,为了可读性,这种风格不提倡。

3.4.1 变量初始化

int vacationDays;
System.out.println(vacationDays);//Error

声明一个变量之后,必须用赋值语句对变量进行显式初始化,否则发生错误。

int vacationDays;
vacationDays=12;
int salary=11.5;

3.4.2 常量

//常量
final int num =10;
//静态常量,类的实例共享常量
static final int numm=11;

3.5 运算符

赋值运算符:
    =
算数运算符:
    +,-,*,/,%
自增自减运算符:
    ++,--
关系运算符:
    ==,!=,<,>,<=,>=
boolean运算符:
    &&,||,!
三元运算符:
    ?:
位运算符:
    &("与")、|("或"),^("异或"),~("非"),>>("右移"),<<("左移"),>>>("无符号右移")
数学函数与常量:
    在Math类中,包含了各种各样的数学函数。

数值类型之间的转换

自动转换


强制转换:
前面加(要转换的类型)
double x = 9.97;
int nx = (int)x;

括号与运算符级别

使用()可以改变算式运算顺序。


枚举类型

enum Size{
    SMALL,MEDIUM,LARGE,EXTRA_LARGE
}

3.6字符串

    从概念上讲,Java字符串就是Unicode字符序列。Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类,很自然的叫做String。
    当将一个字符串与一个非字符串的值进行拼接时,后者被转换为字符串。
    字符串是不可变的。
String常用的操作:

  • 截取子字符substring方法。
  • 拼接字符采用+作为连接符。
  • 检测字符串相等equals,注意使用==检测的是引用而非值。
  • 判断字符串不为null和"",str!=null&&str.length()!=0
  • 可以使用StringBuilder类构建字符串,要比直接使用String直观,且有效率。

3.7输入输出

控制台读取输入
Scanner in = new Scanner(System.in);
控制台输出
System.out.println();
读取文件
Scanner in = new Scanner(Paths.get("myfile.txt"));
写入文件
PrintWriter out = new PrintWriter("myfile.txt");

3.8控制流程

3.8.1块作用域

{}

3.8.1 条件语句

if(condition)statement
if(...){


}else if(...){


}else{


}

3.8.2 循环

while(condition)statement
while(...){
}


do{


}while(...);

3.8.3 确定循环

for(int i=1;i<=10;i++){
    System.out.println(i);
}

3.8.4 多重选择:switch语句

switch(choice){
    case 1:
        ...
        break;
    case 2:
        ...
        break;
    default://没有选择时执行
        ...
        break;
}

3.8.4 中断控制流程语句

break; break label;
read_data:
for(int i=0;i<10;i++){
    if(i==5){
        break read_data;
    }
}

3.9 大数值

BigInteger 和 BigDecimal。

3.10数组

数组元素类型紧跟[]。

int[] a = new int[100];
String[] strs = new String[5];

foreach:

for(variable:collection)statement

数组初始化以及匿名数组:

int[] samllPrimes = {2,35}; //初始化
new int[]{2,35};//匿名数组

复制数组

Arrays.copyOf方法

命令行参数:

每一个Java应用程序都有一个带String arg[]参数的main方法,这表明main方法接受一个字符串数组,也就是命令行参数。

数组排序

Arrays.sort方法

多维数组

[] [] //[]可以有多个、

posted @ 2017-10-20 09:19  Bug的梦魇  阅读(229)  评论(0编辑  收藏  举报