JAVA 核心思想阅读笔记 基本程序结构

1JAVA 的特点

简单性 面对对象 分布式 健壮性 安全性 体系结构中立 可移植性
解释性 高性能 多线程 动态性

2 /** … */注释可以用来自动生成文档
3 JAVA基本数据类型

整型:
在这里插入图片描述
OB或Ob表示二进制数
JAVA没有无符号的整型

浮点型:
在这里插入图片描述
在这里插入图片描述

可以十六进制表示浮点数 0.125=2^(-3)=Ox1.0p-3 p表示指数;
溢出跟出错的浮点数值:1 正无穷大 2 负无穷大 3NAN(不是一个数字)

char跟Unicode
Unicode编码表示范围十六进制U0000 - Uffff

Boolean
在JAVA中数值不能代表boolean值

变量初始化
JAVA不区分变量的声明与定义

常量
public static final double it = 1.0; 定义一个类常量(处于main方法的外部)

运算符
整数除0产生异常 浮点数得到无穷大或者NAN

数学函数与常量
用floorMod来求余数 x % y = floorMod(x,y); 解决被除数为零的情况;
Math.PI表示 pi Math.E 表示e
对浮点数四舍五入用 Math.round(x)

位运算符
/ << 左移运算符 >>右移运算符 >>>右移会用0填充高位 不存在<<<

JAVA运算符
JAVA不使用逗号运算符

4 字符串

字符串就是Unicode字符序列 JAVA没有内置的字符串类型
获取子串 str.substring(a,b);
检验字符串是否相等 str.equals(s) 不区分大小写 equalsIgnoreCase
或者用 str.compareTo(s) == 0;
不要用 == 运算符检验相等 这个运算符只能确定两个字符是否放在同一位置上

空串 str.length()==0 或str.equals("") String 可以存null
str.charAt() 得到String 第 i个位置的char

String API
在这里插入图片描述
在这里插入图片描述

码点:一个编码表中的某个字符对应的代码值 在Unicode标准中,码点用十六进制书写,并加上前缀U+ ,码点可以分为17个代码级别。

构建字符串 StringBuilder 头文件 import java.lang.StringBuilder;
StringBuilder str = new StringBuilder();
str.append();
在这里插入图片描述

5 Scanner

在这里插入图片描述
格式化输出:可参考c语言版本
在这里插入图片描述

用静态的String.format的方法创建格式化的字符串,而不打印输出
String messege = String.format(“Hello,%s,Next year ,you’ll be %d”,name,year);

读写文件 PrintWriter
构造路径 Path.get();

在JAVA中 在嵌套块中定义一个重名变量会导致程序设计出错

switch 中case的标签
类型为 char byte short int 的整型常量
枚举常量
字符串字面值

带标签的break语句 break工作状态;

6 大数值 java.Math*

BigInteger BigDecimal
可以用静态的valueOf的方法将普通的数值转换成大数值
BigInteger it = BigInteger.valueOf(100);
BigInteger
加 减 乘 除 余 分别用 add subtract multiple divide mod方法;
比较大整数相等用 compareTo方法
例如BigInteger转换成 int 用 intValue方法
BigDecimal
BigDecimal it = BigDecimal.valueOf(100.12);
用scale表示小数位数 it.scale(); 如果是负数 如 -2则是末尾有两个零的整数
通过BigDecimal的stripTrailingZeros()方法,可以将一个BigDecimal格式化为一个相等的,但去掉了末尾0的BigDecimal:
setSale的方法进行 四舍五入和阶段
头文件 java.math.RoundingMode
BigDecimal d2 = d1.setScale(4, RoundingMode.HALF_UP); // 四舍五入,123.4568
BigDecimal d3 = d1.setScale(4, RoundingMode.DOWN); // 直接截断,123.4567
对BigDecimal做除法有除不尽的状态 确定精度进行阶段
BigDecimal d3 = d1.divide(d2, 10, RoundingMode.HALF_UP); // 保留10位小数并四舍五入

public class Main {
    public static void main(String[] args) {
        BigDecimal n = new BigDecimal("12.345");
        BigDecimal m = new BigDecimal("0.12");
        BigDecimal[] dr = n.divideAndRemainder(m);
        System.out.println(dr[0]); // 102
        System.out.println(dr[1]); // 0.105
    }
}

求商和余数
比较BigDecimal 还要比较scale大小

7 数组

Arrays.toString(array)打印一维数组的每个元素(头文件 java.util.Arrays)
Arrays.deepToString(array)打印二维数组每个元素;
匿名数组赋值:

   int []array;
   array = new int []{1,2,3};

JAVA允许将一个数组变量拷贝到另一个数组变量上去,这时两个变量将引用同一个数组
有copyOf方法:

int []copidearray=Arrays.copyOf(array,array.length);//第二个参数是数组长度
//如果数组是赋值型,多余的元素将会赋值为零  布尔则赋值为false

排序 Array.sort(array);
在这里插入图片描述
在这里插入图片描述
多维数组

import java.util.Arrays;

public class learn {
    public static  void main(String  args []){
     int [][]array=new int [10][];
     for(int i=0;i<10;i++){
         array[i]=new int [8];
     }
     int cnt=0;
     for(int i=0;i<array.length;i++){
         for(int j=0;j<array[i].length;j++)
             array[i][j]=cnt++;
     }
     System.out.println(Arrays.deepToString(array));
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值