关于java基础知识的代码引用

第二章 关于Java基础知识的应用

本次博客(笔记)承接上个博客—基础知识,记录一些简单易懂的代码和方法。

Exemple01 Hello World

public class HelloWorld{
     
	public static void main(String[] args){
     
	System.out.println("Hello World!");
	}
}

Exemple02 变量类型转换

强制类型转换

public class Leixingzhuanhuan{
     
	public static void main(String[] args){
     
	int num = 4;
	byte b;
	b = (byte) num;   // 定义byte和强制转换可写为一部 : byte b =(byte) num;
	System.out.println("b = " +b);}
	}

精度丢失

public class Jingdudiushi{
     
	public static void main(String[] args){
     
	int a = 299 ;
	byte b = (byte) a ;
	System.out.println(" b = " + b);
	}
}

ps:出现精度丢失问题的原因是:大转小。大的变量转换为小的变量,导致小的变量容不下,溢出。
以本例讲解,计算出来的结果是:299 - 256 = 43 
因为byte的范围是 0-255 ,即要转换的数299 - 256

Exemple03 变量的作用域

public class Zuoyongyu{
     
	public static void main(String[] args){
     
	int x = 12;
	{
      int y = 96;
	System.out.println("x = " + x);
	System.out.println("y = " + y);
	}
	System.out.println("x = " + x);
	System.out.println("y = " + y);
	}
}:本例中,x在大括号外围定义,之后定义y的括号也可使用。
但在小括号定义的y,使用时不能超过这个小括号这个范围。即,大赋小,小不能赋大。

Exemple04 算术运算符 (++ ,- -)

public class Suanshu{
     
	public static void main(String[] args){
     
	int z = 1;
	int a = z++;
	int b = ++z;
	System.out.println("a = " +a);
	System.out.println("b = " +b);
}
}

ps:++--都一样的原理,如果符号在字母的前面,则先进行加减,再进行赋值。
如果符号在字母的后面,则先赋值,再进行加减。
本例中:z的值为1,a = z++,先将z的值赋给a,再进行加法。得到的结果为a=1.
b = ++z,则先在z的基础上+1,得到z=2,再赋给b,得到b=2. 

Exemple05 赋值运算符

public class Fuzhi{
     
	public static void main(Srting[] args){
     
	short s = 3;
	int i = 5;
	s += i;  // s + i = s;
	System.out.println("s is " +s); 
}
}

Exemple06 逻辑运算符 (& 和&&,| 和||) 以&为例

public class Luoji{
     
	public static void main(String[] args){
     
	int x = 0;
	int y = 0;
	int z = 0;
	boolean a,b;
	a = x > 0 & y++ > 1;
	System.out.println("a is " +a);
	System.out.println("y is " +y);
	b = x > 0 && z++;
	System.out.println("b is " +b);
	System.out.println("z is " +z);
}
}
ps:运算下来后发现 a 的值是false,y 的值为1。b的值为false,z的值为0.
代码没什么两样,改变的只有符号和字母。需要注意的是:以本题拿&为例,
当只有单个 & 时,会计算完左边的 a > 0 后接着计算 y++ 。所以最后y的结果为1.
当有两个 && 时,会判断左边的 a > 0 不成立,则直接输出结果false。不进行对右边的判断。所以
 z 的结果为0

Example07 if语句

public class If{
     
	public static void main(String[] args){
     
	int x = 5;
	if( x < 10){
     
	x ++ ;}
	System.out.println("x is " +x);
	}
}

Example08 if-else 语句

public class IfElse{
     
	public static void main(String[] args){
     
	int num = 19;
	if (num % 2 == 0){
     
	System.out.println("num为偶数")}else{
     
	System.out.println("num为奇数")}
	}
}

Example08 IF-else 多级语句

public class IfElseDuoji{
     
	public static void main(String[] args){
     
	int gread = 75;
	if (gread >80){
     
	System.out.println("成绩为优")}else if(gread >70{
     
	System.out.println("成绩为良");
	}else if(gread >60){
     
	System.out.println("成绩为中");
	}else {
     
	System.out.println("成绩为差")}
}
}
}

Example09 switch语句

public class Switch{
     
	public static void main(String[] args){
     
	int week = 3;
	switch (week){
     
	case 1: //注意是 冒号,不是分号
		System.out.println("星期一")break;
	case 2:
		System.out.println("星期二");
		break;
	case 3:
		System.out.println("星期三")break;
	case 4:
		System.out.println("星期四")break;
	case 5:
		System.out.println("星期五");
		break;
	case 6:
		System.out.println("星期六");
		break;
	case 7:
		System.out.println("星期日");
		break;
	default :
		System.out.println("您输入的数字错误");
		break;

}
}
}

计算工作日和休息日的简短代码

public class switch1{
     
	public static void main(String[] args){
     
	int week = 2;
	switch (week){
     
	case 1:
	case 2case 3case 4:
	case 5:
		System.out.println("今天是工作日");
		break;
	case 6:
	case 7:
		System.out.println("今天是休息日")break;
	default :
		System.out.println("您输入的数字有误");
		break;
}
}
}

Example10 While 语句

public class While{
     
	public static void main(Srting[] args){
     
	int x = 1;
	while ( x < 4){
     
	System.out.println("x = " +x);
	x++;
}
}
}

Example11 DoWhile语句

public class DoWhile{
     
	public static void main(String[] args){
     
	int x = 1;
	do {
     
	System.out.println("x = " +x);
	x++;}
}while(x <= 4);   //注意分号
}

Example12 for循环

public class For{
     
	public static void main(String[] args){
     
	int sum = 0;
	for ( int i = 1; i <= 4; i++){
     
	sum += i;
}
	System.out.println(" sum is " +sum);
}
}

Example13 嵌套for循环

for循环嵌套打印直角三角形

public class ForQianTao{
     
	public static void main(String[] args){
     
	int i,j;
	for( i = 1; i <= 9; i++){
           //外层循环
		for(j = 1; j <= i; j++){
        //内层循环
		System.out.print("*");   //打印*
}
		System.out.println();}   //换行
}
}

Example14 break语句(跳出循环)

public class Break{
     
	public static void main(String[] args){
     
	int i,j;
	it cast: for( i = 1; i <= 9; i++){
     
			for( j = 1; j <= i; j++){
     
			if( i > 4){
     
			break it cast;}
	}System.out.print("*");
	}System.out.println();
}
}

Example15 continue语句 (100以内的奇数和)

public class Continue{
     
	public static void main(String[] args){
     
	int sum = 0;
	for ( i = 1; i <= 100; i++){
     
	if (i % 2 ==0){
     
	continue;
	}sum += i;
	}
}System.out.println("sum =" +sum);
}

Example16 方法(打印不同大小的矩阵)

public class Fangfa{
     	
	public static void main(String[] args){
     
	printJuzhen(3,4);
	printJuzhen(5,7);
	printJuzhen(10,12);
}
	public static void printJuzhen(int x , int y){
     
		for(int i = 0; i < x; i++){
     
			for(int j; j < y; j++){
     
			System.out.print("*");}
			System.out.println();
}
}
}

Example17 有返回值的方法

public class Fanhui{
     
	public static void main(String[] args){
     
	int z = FanHui(5,6);
	System.out.println("z = " +z);
	}
	public static int FanHui(int x, int y){
     
	return x * y;
	}
}

Example18 方法重载(求几个数的和)

public class ChongZai{
     
	public static void main(String[] args){
     
	System.out.println("getArr = " +getArr(12,23);
	System.out.println("getArr = " +getArr(45.23,12.56);
	System.out.println("getArr = " +getArr(12,23.78);
}
	public static int getArr(int x, int y){
     
	return x + y;
	}
	public static double getArr(double x, double y){
     
	return x + y;
	}
	public static float getArr(int x, float y){
     
	return x + y;
	}
}

Example19 定义数组及访问数组中的元素

public class Shuzu{
     
	public static void main(String[] args){
     
	int arr[];    //定义数组
	arr = new int[100];	//创建数组容量
	System.out.println("arr[0] = " +arrr[0]);
	System.out.println("arr的长度为" +arr.length);
}
}

Example20 为数组赋值

public class Fuzhi{
     
	public static void main(String[] args){
     
	int arr[] = new int[2];		//new之后的[] 一定要写入容量
	arr[0] = 1;
	arr[1] = 2;
	System.out.println("arr[0] = " +arr[0]);
	System.out.println("arr[1] = " +arr[1]); 
}
}

ps:new之后的[]一定要写入容量,如果没有容量编译是不通过的。
对于没有的赋值的元素,统一都是0.
当然也要注意输出的值不能超过容量的大小。example21 会讲解越界的代码。

Example21 静态初始化、越界

public class Jingtai{
     
	public static void main(String[] args){
     
	int [] arr = {
     1,2,3,4};
	System.out.prinrln("arr[0] = " +arr[0]);
	System.out.println("arr[1] = " +arr[1]);
	System.out.println("arr[2] = " +arr[2]);
	System.out.println("arr[3] = " +arr[3]);
	System.out.println("arr[4] = " +arr[4]);//编译到此处不通过
}
}

ps:数组的容量是从0开始打得。例如本例中,初始化定义和赋值数组放一起进行,只有四个数字,
所以结果也是从元素0开始,于元素3结束,即0 1 2 3 。出现4之后即为越界。

Example22 空指针异常

public class Kong{
     
	public static void main(String[] args){
     
	int arr[] = new int [3];  //定义数组
	arr[0] = 5;	//为第一个元素赋值
	System.out.println("arr[0] = " +arr[0]);
	arr = null; 	//给数组赋空
	System.out.println("arr[0] = " +arr[0]);
}
}

ps:为整个数组赋空,即这个数组中所有的元素都为空

Example23 for循环遍历数组

public class BianLi{
     
	public static void main(String[] args){
     
	int [] arr = {
     2,3,4,5,6};
	for(int i = 0; i < arr.length; i++){
     
	System.out.println(arr[i]);
	}
}
}

Example24 数组冒泡排序

public class MaoPao{
     
	public static void main(String[] args){
     
	int arr[] = {
     2,4,1,9,8,3,7};
	System.out.println("排序前的数字是")printShuZu(arr);
	fangfa(arr);
	System.out.println("排序后的数字是");
	printShuZu(arr);	
}
	public static void printShuZu(int []arr){
     	//打印数组的方法
	for (int i = 0; i < arr.length; i++){
     
	System.out.print(a[i] +"   ");
	}
	System.out.prinln();
}
	public static void fangfa(int []arr){
     		//冒泡排序的方法
	for(int i = 0; i < arr.length - 1; i++){
     
		for(int j = 0; j < arr.length -i -1; j++){
     
			if(arr[j] > arr[j+1]){
     
				int temp = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = temp;}
			}
	}
}
}

Example25 最大值

public class MAX{
     
	public static void main(String[] args){
     
	int []arr = {
     12,45,98,32,65,78};
	int max = getMax(arr);
	System.out.println("max is " +max);
}
	public static void getMax(int arr[]){
     
	int max = arr[0];
	for(int x = 1; x < arr.length; x++){
     
		if(arr[x] > max){
     
			max = arr[x];}
	}
	return max;
}
}

Example26 比较两数的方法

方法一 if函数

public class Fangfa1{
     
	public static void main(String[] args){
     
	int a,b;
	Scanner scanner = new Scanner(System.in);
	a = scanner.nextInt();
	b = scanner.nextInt();
	if(a > b){
     
	System.out.println("max 为 " +a)}else {
     
	System.out.println("max 为 " +b);
	}
}
}

方法二 方法

public class Fangfa2{
     
	public static void main(String[] args){
     
	int a,b;
	Scanner scanner = new Scanner(System.in);
	a = scanner.nextInt();
	b = scanner.nextInt();
	getmax(a,b);
}
	public static void getMax(int x, int y){
     
	if(x > y){
     
	System.out.println("max is " +x);
	} else {
     
	System.out.println("max is " +y);
	}
}
}

小结:

用时两天下午,7500字左右。更新进度比较慢,在小黑的催促下终于肝出来了。谢谢大家的观看,虽然我的目的是为了记录自己的路程。但衷心的希望对能看到这儿的你有所帮助。由于我是一个小菜鸡,对很多东西存在着盲区,所以也明白自己的问题出现的地方。来对可能正是初学者的你有所启发。其中可能有很多的问题,可能有编译结果出来,但是代码有问题。原本想复制来的,最后还是自己又一次敲出来(虽然检查过一遍)。无论出现什么 问题,或者有什么遇到的问题,可以私信一起交流。

感想

最近的一些感触,发表在最后:
记录2020年的想法,我是一个00年出生的小伙子,当20年的钟声敲响的时候,我意识到,自己也都20岁,21岁了。我依稀记着自己的前二十年的懵懂和无知,小学初中成绩一直不是很好,吃了睡,睡了玩,玩了就继续吃,过着三点一线的生活。在高中之后认识了许多生命中的贵人,慢慢来调整自己的状态。
有时候故作深思的乱想,想人的一生到底在做什么,想我该怎么才能更好,为什么人与人之间的差距那么大。当然,那时的自己也就想想而已。
20年给我最大的提示,emmm,此处警示会更好一点:未来的十年是当代零零后年轻人需要奋斗拼命的十年。正因为我们正直青年,没有了前二十年的懵懂气息和幼稚,也没有未来有自己的家庭和负担。我们才有机会去做自己能做的事情,不妨想一想自己未来十年的生活,你可能有了自己的家庭,有了自己的孩子,父母也会年事已高。哪儿有那么多的时间去玩,去学习,去奋斗。为什么不在自己青春的20-30之间,做到业立家成呢?
至少这样,将来的我不必为了对自己生活,婚姻,家庭的不满而满声抱怨,不会为了家庭的艰难,而对当年正直20岁的自己自怨自艾…
不由得想引用奥斯托洛夫斯基笔下《钢铁是怎样炼成的》中主人公保尔·柯察金的一句话:
人的一生应当这样度过:“当回忆往事的时候,他不至于因为虚度年华而痛悔,也不至于因为过去的碌碌无为而羞愧;在临死的时候,他能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业——为人类的解放而斗争。

人的青春不应该这样吗?对于现在的我们,有足够的时间,有足够的精力去完成自己想做的,有足够的时间去这么大的世界转转。
我的青春,应该爱我所爱,不念过往,不惧将来,活在当下。

你可能感兴趣的:(Java,java,编程语言)