JAVA极限训练营第一周学习总结

所谓极限训练营是由老九学堂举办的一次线上培训项目,我深知在现在要提高自己,因此报名参加。

第一周学习了三章,分别是:
一、JAVA语言概述
二、变量与数据类型
三、运算符与选择结构

在第一章里面,我主要学会了安装环境变量,用记事本完成一个程序。用java写了第一个程序——永远的helloworld。

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

我以前简单的接触过c++ 和python,难免会产生对比,对于初学者而言感觉java并没有那么的简单。因为java的“起手式”要两个public,输出方法也较为复杂,而c++只用int main()然后cout、python直接print就好。包括对程序进行输入,java是三者中最复杂的。当然,这也与我浅薄的见识有关,因为我仅仅只把java学到了运算符。可能很久以后我在回过头看就不这么想了吧。

在写代码的方面,有时候会有许多错误,但都是一些可以避免的细小错误。比如:括号写一半,没有写分号等等。后来学了数据类型后,又多了一种错误,那就是经常在有小数点的时候出错,有时候在printf决定保留几位小数时也会出错。

print、println、printf的区别:

			printf主要是继承了C语言的printf的一些特性,可以进行格式化输出

			print就是一般的标准输出,但是不换行

			println和print基本没什么差别,就是最后会换行

在第二章中,重点是变量的声明和使用。我觉得这里没什么难度,唯一一个容易出错的地方就是变量类型的自动转换。但只要明白两句话就好:待转换的两种数据类型要相互兼容;转换后的数据类型的范围不小于转换前的类型的表示范围。
在第三章中学习了一些基础无比的知识,运算符和选择结构。 虽然基础,但很重要。

在写作业的时候我遇到这么一个题让我想了好久:
给一个不大于5位的正整数,求出它是几位数,并且分别打印出每一个位的数字。

这个题在很多人眼里巨简单比如:用字符串表示然后求长度,逐渐输出每一个。两三行就搞定。但是如果只用条件语句的话,怎样才能把这道题写好?我是这么写的:

在这里import java.util.Scanner;

public class Chapter3_3_3 {
	public static void main(String[] args) {
		
		Scanner input = new Scanner(System.in);
		
		System.out.print("请输入一个不大于5位的正整数:");
		int num = input.nextInt();
		
		int ten_thousand;//万位数
		int thousand;//千位数
		int hundred;//百位数
		int decade;//十位数
		int unit;//个位数
		
		if ((num / 10000) != 0) {
			System.out.println("你输入的是五位数。");
			
			ten_thousand = num / 10000;
			num = num % 10000;
			thousand = num / 1000;
			num = num % 1000;
			hundred = num / 100;
			num = num % 100;
			decade = num / 10;
			unit = num % 10;
			
			System.out.println("万位数为:" + ten_thousand);
			System.out.println("千位数为:" + thousand);
			System.out.println("百位数为:" + hundred);
			System.out.println("十位数为:" + decade);
			System.out.println("个位数为:" + unit);
		}
		else if((num / 1000) != 0) {
			System.out.println("你输入的是四位数。");		

			thousand = num / 1000;
			num = num % 1000;
			hundred = num / 100;
			num = num % 100;
			decade = num / 10;
			unit = num % 10;
			
			System.out.println("千位数为:" + thousand);
			System.out.println("百位数为:" + hundred);
			System.out.println("十位数为:" + decade);
			System.out.println("个位数为:" + unit);
		}
		else if((num / 100) != 0) {
			System.out.println("你输入的是三位数。");		

			hundred = num / 100;
			num = num % 100;
			decade = num / 10;
			unit = num % 10;
			
			System.out.println("百位数为:" + hundred);
			System.out.println("十位数为:" + decade);
			System.out.println("个位数为:" + unit);
		}
		else if((num / 10) != 0) {
			System.out.println("你输入的是两位数。");		

			decade = num / 10;
			unit = num % 10;
			
			System.out.println("十位数为:" + decade);
			System.out.println("个位数为:" + unit);
		}
		else {
			System.out.println("你输入的是个位数。");
			unit = num;
			System.out.println("个位数为:" + unit);		
		}
	
			

	}
}

我直接用暴力的方法把所有的情况都列举了一遍,这其实是第二版。第一版我写了好久,实在是太过于冗长了就放弃了。至于这道题的升级版写法,等我往后学学再补充。

这种题虽然简单,但是写好对我一个新新手来说是不容易的。做这种题的意义在于温习语法的同时可以充分的练习指法,并且可以磨一磨心性。我是非常爱电脑和其他电子产品的,在这之前我爱的方式是打游戏,但现在不一样了,我通过写代码来和电脑进行交流。这周是训练营的第一周,我感觉过的非常非常充实,我想在这条路上走的越来越远,哪怕秃头。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值