Java教程

java基础学习(一)

本文主要是介绍java基础学习(一),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Java学习(一)

已经有C的基础,所以不会特别基础。主要是和C不同的地方。
学习的视频是【零基础 快速学Java】韩顺平 零基础30天学会Java
https://www.bilibili.com/video/BV1fh411y7R8?p=180

环境的不同

Java8:编译时需要先javac text.java,生成一个text.class,然后java text,执行程序。可以分别执行各个类。
java11: 编译时直接 java text,java,会直接生成text,class并运行程序。似乎不可以分别执行各个类,只能执行主类。

+的特性

+左右是数值则数值相加,有一边是字符串则拼接运算

System.out.println(100 + 8); //108
System.out.println("100" + 8); //1008
System.out.println("hello"+100 + 8); //hello1008

浮点数的细节

java浮点数默认是double,用float声明要在浮点数后加后缀f(不加会报错),所以一般使用double。
不要用运算结果是小数的进行相等判断,最好用相减的绝对值小于某个精度来处理。

字符编码

java的字符类型是unicode码
ASCII码,一个字节表示,一共128个字符。
Unicode:固定大小编码, 两个字节表示一个字符。
Utf-8:大小可变的编码,字母使用一个字节,汉字使用3个字节。
gbk:字母一个字节,汉字两个字节。
big5:繁体字

类型转换

byte,short,char三者进行运算,会自动转换晨int类型。

		char c =1;
		char d = 2;
		byte e =1;
		short f = 1;
		short s1 = f + e; //错误: 不兼容的类型: 从int转换到short可能会有损失
                            
		char  c1 = c + d ; //错误: 不兼容的类型: 从int转换到char可能会有损失

字符串转基本类型,用库方法。

运算符

除法细节

		System.out.println(10 / 4); 	//2
		System.out.println(10.0 / 4);	//2.5
		double d = 10 / 4;
		System.out.println(d); 			//2.0

switch

  • 细节1:switch表达式的类型应一致或可以转换。
  • 细节2:switch表达式的值必须为 byte,short, int, char, enum, String.
  • 细节3:case表达式必须为常量或产量表达式,不能为变量。
  • 细节4: 如果没遇到break,会顺序执行,不需要判断下面的case。只判断一次switch.

数组

数组的拷贝不能直接将数组的名赋值,拷贝要将值一一赋值。

		int[] arr1 = {1, 2, 3};
		int[] arr2 = arr1;   //将arr1的地址赋给了arr2,arr1和arr2指向同一个地址,修改arr2的值arr1的值也会改变。
		arr2[0] = 10;
		for(int i = 0;i < arr1.length; i++)
			System.out.println(arr1[i]);   //10,2,3

二维数组可以先初始化最高位,再初始化后面的,并且可以不同大小。
一个例子,杨辉三角。这个二维数组的每个一维数组长度都不同。

public class YangHui{
	public static void main(String[] args){
		int n =10;

		int [][] yanghui = new int[n][];
		for(int i = 0; i < yanghui.length; i++){
			yanghui[i] = new int [i+1];             //给每一个二维数组初始化
			for(int j = 0; j < yanghui[i].length; j++){
				if(j == 0 || j ==yanghui[i].length -1)
					yanghui[i][j] = 1;                 //第一列和最后一列都为1
				else{
					yanghui[i][j] = yanghui [i-1][j] + yanghui[i-1][j-1];
				}
			}
		}
		for(int i = 0; i < yanghui.length; i++){
			for(int j =0; j < yanghui[i].length; j++)
				System.out.print(yanghui[i][j]+"\t");
			System.out.println();
		}
		
	}
}
这篇关于java基础学习(一)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!