第三章----Java基本设计结构

2018-11-28  本文已影响13人  枫子夜
Java

Java类组成

public class FirstSample{
    public static void main(String[] args){
        System.out.println("Hello World!");
    }
}
注:Java类名命名规范:必须以字母开头,后面可是字母或数字,长度无限制。首字母大写、每个单词首字母大写(骆驼命名法)。
    Java中以分号代表语句的结束。

数据类型

类型 存储 范围
byte 1字节 -128 ~ 127
short 2字节 -32768 ~ 32767
int 4字节 -21.47亿 ~ 21.47亿
long 8字节 好大呀
- - -
float 4字节 有效位数6-7位
double 8字节 有效位数15位
- - -
char 单个字符 不常用
- - -
boolean true、false 逻辑判断

变量

运算符

1. + - * / 分别表示加减乘除,其中Math类中包含了各种各样的数学函数。
2. ++n,n++ 都是表示变量n+1,但是在关系表达式中++n是先运用再+1,后者是先+1再运用。
3. < > <= >= && || 分别表示小于、大于、小于等于、大于等于、逻辑并且、逻辑或。&& 有短路作用,即如果第一个表达式已经确定值就不在计算后一个表达式。
4. 三元运算符:表达式?true值:false值。

字符串

1. IntStream codePoints();
2. boolean endsWith(String prefix);
3. int indexOf(String str);    不存在返回-1
4. String subString(int beginIndex , int endIndex);    endIndex是不想截取的第一个位置
5. String join("*","L","O","V","E");    L*O*V*E
1:效率
    StringBuilder>StringBuffer>String:
    由于String是不可改变的,所以在拼接的时候JVM会回收原来的字符串并创建新的字符串,这样效率很慢。
    而StringBuilder和StringBuffer都是变量可以直接更改而不需要回收创建,所以效率会很快。
2:线程安全
    StringBuilder是线程不安全的,StringBuffer是线程安全的,其中内置了很多synchronized的方法来保证线程安全,这也是为什么StringBuffer效率低于StringBuilder的原因。

输入输出

1. Scanner in = new Scanner(System.in);        创建输入流
2. Scanner(InputStream in);
3. String next();         读取下一个单词(空格分割)
4. int nextInt();
5. double nextDouble();
6. boolean hasNext();
7. Scanner(File f);
8. Scanner(String data);
1. Console cons = System.console();
2. static String readLine(String prompt, object ... args);        读取用户输入
1. Scanner in = new Scanner(Paths.get("myfile.txt"),"UTF-8");
2. PrintWriter out = new PrintWriter("myfile.txt","UTF-8");

流程控制

1. if(){}else{}
2. if(){}else if(){} else{}
3. while(){}
4. do{} while()
5. for(int i=0;i<10;i+){}
6. for(l类型 变量 : 待循环变量){}
7. Switch(){case 判断值:   代码段;break; } 类型可为:char,btye,short,int,String,枚举常量
8. break and continue and  return,break结束本层循环;continue中止本次循环,继续下一个循环;return 结束程序并返回值。

大数值

1. BigInteger valueOf(int i );        转换
2. add(BigInteger other);             和
3. subtract(BigInteger other);        差
4. multiply(BigInteger other);        积
5. divide(BigInteger other);          商
6. mod(BigInteger other);             余
8. compareTo(BigInteger other);       比较,=0 <负数 >正数

数组

1. int[] a = new int[100];
2. int[] a = {1,2,3};
3. int[] b = Arrays.copyOf(a , a.length);
4. Arrays.sort(a);
5. Arrays.toString(a);
6. Arrays.copyRange(a , start , end);
7. Arrays.equals(a , b);
8. 二维数组(矩阵)、多维数组其实都是数组里面嵌套数组

注:初始化没有赋值的数组:数值型赋值为0,布尔型赋值为false,String赋值为null。

愿你经历山河,觉得人间值得

上一篇 下一篇

猜你喜欢

热点阅读