Java基本程序设计结构

 

 

1. 数据类型

字节型:byte。占用内存:8位->1字节;取值范围:-128~127

短整型:short。占用内存:16位->2字节;取值范围:-32768~32767

整型:int。占用内存:32位->4字节;取值范围:-2147483648~2147483647

长整型:long。占用内存:64位->8字节;取值范围:-9,223,372,036,854,775,808(-2^63)~9,223,372,036,854,775,807(2^63 -1)

单精度浮点型:float。占用内存:32位->4字节;取值范围:+/-3.4E+38F(6~7 个有效位)

双精度浮点型:double。占用内存:64位->8字节;取值范围:+/-1.8E+308 (15 个有效位)

字符型:char。占用内存:16位->2字节;取值范围:ISO 单一字符集

布尔型:boolean。占用内存:8位->1字节;取值范围:true 或 false

2.变量

声明一个变量之后, 必须用赋值语句对变量进行显式初始化 , 千万不要使用未初始化的变量。

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

public class Constants2 {
	public static final double CM_PER_INCH = 2.54;
	
	public static void main(String[] args) {
		System.out.println(CM_PER_INCH);
	}
}

类常量:在一个类中多个方法进行调用。static final 进行设置。

3.运算符

强制类型转换,涉及精度的丢失。

运算符优先级

4.字符串

从概念上讲, Java 字符串就是 Unicode 字符序列 。例如,串 “ Java \ u 2122 ” 由 5 个Unicode 字符 J、 a 、 v 、 a 和™ 。 Java 没有内置的字符串类型 ,而是在标准 Java 类库中提供了一个预定义类, 很自然地叫做 String 。

4.1 子串

子串提取:[0 , 3)

String gr = "Hello";
String s  = gr.substring(0, 3);

4.2 在线api

网址:https://docs.oracle.com/javase/8/docs/api/

4.3 构建字符串

按键或文件的多次字符的输入来构建字符串。字符串连接方法时每次都要构建新的String对象,耗时,浪费空间。其他方法:

StringBuilder:只允许单线程的方式执行添加或删除字符。

StringBuilder builder = new StringBuilder();
builder.append("fasdf");
builder.append("1234");
System.out.println(builder.toString());

StringBuffer:允许多线程的方式执行或删除字符。

5. 输入输出

5.1 输入

Scanner scanner = new Scanner(System.in);
// nextLine :读取一行的输入 以空格为分隔符
String name =scanner.nextLine();
int age = scanner.nextInt();
System.out.println("Name:"+name + "Age:"+age);

5.2 输出

double x = 10000.0 / 3;
System.out.printf("%8.2f",x); // 格式化输出:保留两位小数,总共8位,不足前方补0

多个参数的输出:

String name = "Miya";
int age = 12;
System.out.printf("Hello , %s , Next year , you will be %d",name,age);
String me = String.format("Hello , %s , Next year , you will be %d",name,age);

格式化输出的各种标志:

System.out.printf("%,.2f",10000.0/3.0);//逗号进行分割
System.out.println();
System.out.printf("%,(.2f",10000.0/-3.0);// 多个分隔符

输出:
3,333.33
(3,333.33)

 

 输出格式说明符语法:

 5.3文件输出

Scanner in = new Scanner(Paths.get("src\\myfile.txt") , "utf-8");
while(in.hasNext()) {
	String s1 = in.nextLine();
	System.out.println(s1);
}

 5.4文件输入

File file = new File("src\\Infile.txt");
PrintWriter printWriter = new PrintWriter("src\\Infile.txt");
printWriter.print("hello!java!");
printWriter.close();

6. 大数值

BigInteger:实现了任意精度的整数运算。

BigDecimal:实现了任意精度的浮点数运算。  

方法:add()、multiply()。

7. 数组

数据结构:用于存储同一类型值的集合。

数组声明:int[] a;     int a[];

数字数组,多有元素都初始化为0;boolean类型的数组所有元素都初始化为false。

7.1 for each循环

for循环的语句格式为:for(variable : collection) statement

for (int element : a){
    System.out.println(element);
}

直接输出数组:

int[] a = {2,3,5,7,11,13};
System.out.println(Arrays.toString(a));  // Arrays.toString()方法直接输出数组

7.2 数组初始化和匿名数组

int[] a = {1,2,3,4,5,6};  // 常规初始化
// 匿名数组
int[] smallPrimes = new int[] {1,2,3,4,5,6,7}

数组长度可以是0,但是和Null不同。

7.3 数组拷贝

在java中允许将一个数组变量拷贝给另一个数组变量,之后,两个变量将应用同一个数组。

int[] luckyNumbers = samllPrimes;
luckyNumbers [5] = 12 ; // 此时,samllPrimes[5]也为12

 

将数组的所有的元素都拷贝到另一个数组中:Arrays的copyOf方法:

int [] a = {1,2,3,4,5,6,7};
int [] b = Arrays.copyOf(a, 10);
int [] c = Arrays.copyOf(a, 3);
System.out.println(Arrays.toString(b));
System.out.println(Arrays.toString(c));

// 输出:1 2 3 4 5 6 7 0 0 0
//       1 2 3 

7.4 数组排序

数值型数组进行排序:Arrays.sort()

int [] a = {1,2,9,8,2,3,7};
Arrays.sort(a);
System.out.println(Arrays.toString(a));

输出: 1 2 2 3 7 8  9

7.5 多维数组

// 多维数组的声明:
int [][] a = new int[10][10];
int [][] b = {
                {},
                {},
             }
// for each 循环输出
for(int[] c : a){
    for(int d : c ){

     }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值