今天,我们深入了解了字符串的比较,区分了==与equals的区别(详见:==与equals的区别)[重点],其次讲授了类型转换相关以及涉及面向对象编程的基础。
类型转换需要注意的是哪些可以隐式转换,哪些要强制转换。规则如图3-1所示
图3-1
可以总结出:由范围大到范围小要强制转换;由范围小到范围大可以隐式转换。
接下来,我把做的几个小练习贴上来,通过测试都可以运行。
1、计算阶乘1!+2!+3!......+10!
public class Demo1
{
public static void main(String[] args){
long k = 1;//存放阶乘的值
long sum = 0;
for(int i=1;i<10;i++)
{
k = k*i;
sum = sum + k;
}
System.out.println(sum);
}
}
2、输出1~200以内的质数
public class Demo2
{
public static void main(String[] args){
int count = 0;
boolean flag;
for(int i=2;i<200;i++){
flag = true;
for(int j=2;j<=i/2;j++){
if(i%j==0){
flag = false;
break;
}
}
if(flag){
System.out.print(i+" ");
count++;
}
}
System.out.println(" ");
System.out.println("0到200包含的素数有:"+count+"个");
}
}
3、编写程序,判定某年是否是闰年
public class Demo3
{
public static void main(String[] args){
String str = args[0];
int i;
i = Integer.parseInt(str);
if((i%4==0&&i%100!=0)||i%400==0){
System.out.println(i+"年是闰年");
}else
System.out.println(i+"年不是闰年");
}
}
4、利用for循环打印9*9乘法表
public class Demo4_1
{
public static void main(String[] args){
for(int i=1;i<10;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
}
}
倒三角9*9乘法表
public class Demo4
{
public static void main(String[] args){
for(int i=9;i>=1;i--){
for(int j=9;j>=10-i;j--){
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
}
}
5、输出所有水仙花数,水仙花数是一个三位数,其各个位数字立方和等于其本身
public class Demo5
{
public static final int MIN = 100;
public static final int MAX = 1000;
public static void main(String[] args){
for(int i = 100;i < MAX ;i++){
int h = i/100;//取i的百位
int t = (i-h*100)/10;//取i的十位
int o = (i-h*100-t*10);//取i的个位
int sum = h*h*h+t*t*t+o*o*o;
if(i==sum){
System.out.println(i+"是水仙花数");
}
}
}
}
关于面对对象编程复习了属性一般是私有的,我们利用共有方法get(),set()来对私有属性进行操作。并且了解了对象的生命周期,并不是成为垃圾对象后马上释放对应的内存,就如同保洁员一直在检测整栋楼是否有垃圾要处理,如果有就处理,我们也不可能做到一丢下垃圾保洁员就处理垃圾相同的道理。
总结:经过今天的学习,编码能力还需加强,好多东西只是在脑子里打转,根本不熟练。今天清晰了对象引用与对象的区别,这是在学校很难获得的。起风了,唯有努力生存。