您的位置:首页 > 编程语言 > Java开发

《Java核心卷第十版》Java基本程序设计结构

2019-04-19 15:06 281 查看

1. 第一段Java程序

 

需要注意:

Java程序文件名必须与类名一致

Java类名首字母大写

 

2.注释

使用//单行注释:

/* */多行注释:

 

3.数据类型

共8种基本数据类型:

int, short, long, byte,     float, double,   char,   boolean

 

长整型在数据末尾添加L表示长整型数据,例如:400000000000L

十六进制以0X开头,如:0X08

二进制以0B开头,如:0B1001

 

 float数据一般在末尾添加F,没有后缀默认为double类型。

 

char用于保存单个字符

 

boolean只有true与false两种值,与C语言不通的是,Java中boolean类型不可以与0和1相互转化。

 

4.变量

 

变量的声明:

类型名  变量名;

变量需要由字母数字下划线组成,开头不可以是数字,大小写敏感,不可以使用保留关键字。

 

变量的初始化:

尽量养成变量声明接着初始化的习惯。

int a = 0;

String s = null;

使用赋值号=初始化变量。

 

5.常量

 

常量往往使用final修饰,只可以赋值一次,常量名往往全大写。

类常量:

public static final double PI = 3.1415927;

 

6.运算符

 

使用+ - * / 表示四则运算,整数除法结果是整数,浮点数除法结果是浮点数。%取余操作用于整数取余操作。

整数除以0会抛出异常,浮点数除以0得到无穷大或者NaN

 

7.数学函数

 

double y = Math.sqrt(x)   //对x求平方根

double y = Math.pow(x, a)  //对x求a次幂

三角函数:

指对数:

常量:

 

8.数据类型的隐式转换

 

不同数据类型的数据进行四则运算的时候,会自动转换成一致的数据类型再进行计算。

 

9.强制类型转换

 

大存储范围的数据转到小存储范围会有丢失精度的风险,这个时候需要强制类型转换。

 

10. 方便写法

x = x + 4     ====>   x+=4

x = x - 4      ====>   x -=4

x = x*4        ====>   x*=4

x = x/4         ====>   x/=4

x = x + 1      ====>   x ++

x = x -1        ====>   x --

 

x++与++x(x--与--x)

++在前先自增,后参与表达式运算。++在后先参与表达式计算后自增

x = 4

y = ++x

z = x++

y现在是5,z也是5

 

11. 关系运算

 

相等 ==

不等 !=

大于 >

小于 <

大于等于 >=

小于等于 <=

并且  &&

或者  ||

三元表达式    y = A ? B : C

A为真,y = B,否则 y= C

 

12.位运算

 

&位与

|位或

~位非

^异或

<<左移补零

>>右移补符号位

>>>右移补零

 

13.运算符优先级

优先级依次递减

 

 

14.枚举类型

将数据提前设定,在指定范围内取值,防止出错或过多的编码混乱。

[code]enum Size{

SMALL,
MEDIUM,
LARCE,
EXTRA_LARCE

};

Size s = null;

s = Size.MEDIUM;

 

15.字符串

 

截取 substring(fromIndex, lastIndex + 1):

String s = "Hello";

String ss = s.substring(0,3);

 

拼接:

String s = "he";

String ss = "llo";

String sss = s + ss;   //"hello"

String all = String.join("/","root","desktop","folder","file.txt");   // "root/desktop/folder/file.txt"

 

字符串相等判断:

s.equals(ss);

s.equalsIgnoreCase("hello");  //不区分大小写

 

字符串为空串或为空的判断:

s == null

s.lenth() == 0

 

 

 频繁操作字符串:

频繁操作字符串的时候使用StringBuilder会更高效。

StringBuilder sb = new StringBuilder();

sb.append(s);

String s = sb.toString();

 

16.输入输出

 

使用Scanner读取数据,或者console读取密码

[code]Scanner scanner = new Scanner(System.in);
String inputString = in.nextLine();  //使用回车分隔的行
String inputWord = in.next();  //使用空格分开的字符
int a = in.nextInt();
double b = in.nextDouble();

Console console = System.console();
String username = console.readLine("User Name:");
char[] pass = console.readPassword("password:");

 格式化输出:

System.out.printf("%,.2f", 10000.0 / 3.0);

格式化字符串

String s = String.format("Hello, %s, Next year, you will be %d", name, age);

 

17.文件输入与输出

 

读取文件:

Scanner in = new Scanner(Paths.get("file.txt"), "UTF-8");

String text = in.readLine();

 

写入文件:

PrintWriter writer = new PrintWriter("file.txt", "UTF-8");

writer.print("aaa");

writer.println("bbbb");

writer.printf("%d",a);

 

 

18. 流程控制

 

条件

if, else if , else

设计模式告诉我们要尽快返回数据,少进行if else嵌套。

 

循环

while(){

}

do{

}while()

后者至少执行一次

 

for(int i =0 ;i< counter; i++ ){}

指定次数的循环

 

switch(choice)

{

case:

   break;

case:

    break;

default:

   ```

}

根据不同的选项执行不同的程序。case可以是char,byte,short,int,String

使用continue跳出本次循环,break,return跳出循环。

 

19. 大数值

 

BigInteger a = BigInteger.valueof(100);

加法:a.add(b)

乘法: a.multiply(b)

BigDecimal与之类似。

 

20. 数组

 

int [] a = new int[100];

获取长度:a.length

 

foreach循环:

for(int item : array){  }

 

数组的拷贝:

int [] a  = Arrays.copyOf(sourceArray, length);

 

数组排序:

int [] a = {1,3,2};

Arrays.sort(a);

Math.random()   // 用于产生0-1之间的随机数

 

多维数组:

int [][] a = new int[3][2]

 

不规则数组:

int [][] a = new int[6][]

a[0] = new int[10]

a[1] = new int[6]

```

 

 

 

 

 

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: