[javaSE笔记1] JAVA的基本程序设计结构

[javaSE笔记1] JAVA的基本程序设计结构

由于主要是一些基本的概念如分支, 循环, 数据类型这些, 这里只记录一些点而不做系统的笔记

  • main方法必须声明为public

  • int 4字节; short 2字节; long 8字节; byte 1字节
    ( 注意, java这些数据类型的字节数都是确定的, 而C/C++并不是, 比如C++的int类型可能是2或4字节, 和操作系统甚至编译器都有关, 给跨平台带来了很大的难度, 这也就是Java的" 可移植性 "好的原因之一)

  • Java没有任何无符号形式 ( unnsigned) 的int, long, short 或者 byte类型

  • Java中的boolean类型不能由数值代替, 否则无法通过编译 ( C++中数值甚至指针类型都可以表示bool值 )

  • 不要使用 '==' 判断两个字符串是否相等, 应该用equals方法

  • String为不可变字符串, 不能修改单个字符

  • Java不允许嵌套的快中重定义一个变量

public class coreFormat {
    public static void main(String[] args) {
        int x = 3;
        if( x == 3) {
            int x = 4;
            x++;
        }
        System.out.println(x);
 	}
}

/*
Error:(10, 17) java: 已在方法 main(java.lang.String[])中定义了变量 x
*/
  • Java提供带标签的break语句, 用于跳出多重嵌套循环, 注意标签必须放在希望跳出的最外层循环之前并带上一个冒号
public class coreFormat {
    public static void main(String[] args) {
        int n;
        Imtab:
        while (true) {
            while (true) {
                while (true) {
                    while (true) {
                        break Imtab;
                    }
                }
            }
        }
        System.out.println("I'm out");
    }
}

/*
I'm out
*/
  • java.math包中两个大数的类 : BigInteger 和 BigDecimal, 前者实现任意精度的整数运算, 后者实现任意精度的浮点数运算 ( 不能用\(+\) 或者 \(\times\) , \(\div\) ...来处理大数, 而需要使用大数类中的add和multiply, divide ...方法
public class coreFormat {
    public static void main(String[] args) {
        BigInteger a = BigInteger.valueOf(100);
        BigInteger reallyBig = new BigInteger("1209830129839012830918294798127398123123912848");
        BigInteger reallyBig1 = new BigInteger("1290831208309218309128309218038102341");
        BigInteger ans = reallyBig.multiply(reallyBig1);
        System.out.println(ans);
        ans = reallyBig.add(reallyBig1);
        System.out.println(ans);
        /*
        1561686488348991405143064571291343054195716538900929041411407291357060176588777168
        1209830131129844039227513107255707341162015189
         */
    }
}
  • 与C++不同, java不提供运算符重载的功能

  • java提供foreach循环, 格式如 for ( int x : a)

public class coreFormat {
    public static void main(String[] args) {
        int[] a = {1,2,3,4,5,6,7,};
        for(int i:a)
            System.out.print(i);
    }
}
// 1234567
  • 可以用Arrays.toString快速输出一整个数组
public static void main(String[] args) {
        int[] a = {1,2,3,4,5,6,7,};
        System.out.println(Arrays.toString(a));
    }
// [1, 2, 3, 4, 5, 6, 7]
  • Arrays.copyOf拷贝数组
  • Arrays.sort数组排序
  • 二维数组的声明
int[][] a = new int[8][8];
for (int i = 0; i < 8; i++) {
            for (int j = 0; j < 8; j++) {
                a[i][j] = i + j;
            }
        }
        System.out.println(Arrays.deepToString(a));	// deepToString可以直接输出二维数组
}
posted @ 2020-06-12 22:23  roccoshi  阅读(124)  评论(0编辑  收藏  举报