Java的基本语法

本文通过具体实例介绍了Java的数据类型、控制语句及数组操作等内容,加深读者对Java基础语法的理解。

    打开《Java 核心技术》第一卷第3章,都是些基本的语法要点,看起来没有什么难度,一路就下来了,也画了些笔记,不过都不值得一提了。 但是既然来了,总归要留下点什么吧,于是写了下面的几段代码。

   Java数据类型的练习:

import java.util.*;

public class dataTypeTest {
        
    
/**
     * Creates a new instance of <code>lifeTest</code>.
     
*/
    
public dataTypeTest() {
    }
    
    
/**
     * 
@param args the command line arguments
     
*/
    
public static void main(String[] args) {
        
// TODO code application logic here
        System.out.println("Hello World!");
                
        System.out.printf(
"新的生命诞生了 ");
        System.out.printf(
"整数家庭诞生了四个小生命... ");
        System.out.printf(
"老大是long ,%d字节,范围{%d~%d) ", Long.SIZE/8, Long.MIN_VALUE, Long.MAX_VALUE);
        System.out.printf(
"老二是int  ,%d字节,范围{%d~%d) ", Integer.SIZE/8, Integer.MIN_VALUE, Integer.MAX_VALUE);
        System.out.printf(
"老三是short,%d字节,范围{%d~%d) ", Short.SIZE/8, Short.MIN_VALUE, Short.MAX_VALUE);
        System.out.printf(
"老四是byte ,%d字节,范围{%d~%d) ", Byte.SIZE/8, Byte.MIN_VALUE, Byte.MAX_VALUE);
        System.out.printf(
"Java中没有unsinged的概念,所以四个小家伙没有C++家里的四个孩子重量大 ");
      
        System.out.printf(
"四个小家伙什么都吃,十进制1000=%d 八进制01000=%d 十六进制0x1000=%d "1000010000x1000);
        System.out.printf(
"默认的整数是int类型,long类型需要以L结尾 ");
        System.out.printf(
"不过还是要小心别撑着,整数的越界是很麻烦的,特别是八进制和十六进制表示时 ");
        
        System.out.println();
        
        System.out.printf(
"浮点数家庭诞生了二个小生命... ");
        System.out.printf(
"老大是double,%d字节,范围{%e~%e) ", Double.SIZE/8, Double.MIN_VALUE, Double.MAX_VALUE);
        System.out.printf(
"老二是float ,%d字节,范围{%e~%e) ", Float.SIZE/8, Float.MIN_VALUE, Float.MAX_VALUE);
        
        System.out.printf(
"默认的浮点数是double,float类型需要以F结尾 ");

        System.out.println();
                
        System.out.printf(
"还有两个未来的天才静悄悄的诞生了... ");
        System.out.printf(
"一个是未来的文科天才char   ,%d字节,范围{%d~%d) "
            Character.SIZE
/8, (int)Character.MIN_VALUE, (int)Character.MAX_VALUE);
        System.out.printf(
"一个是未来的理科天才boolean,%d字节,范围{%b~%b) "
            
1, Boolean.FALSE, Boolean.TRUE);
        
        System.out.println(
"Java的boolean类型禁止和其它类型相互转换,因为它是麻烦的源泉 ");
    }
}

   控制语句的练习:

import java.util.*;

public class ControlTest {
        
    
/**
     * Creates a new instance of <code>ControlTest</code>.
     
*/
    
public ControlTest() {
    }
    
    
/**
     * 
@param args the command line arguments
     
*/
    
public static void main(String[] args) {
        
// TODO code application logic here
        
// 演示if语句
        int age = 28;
        System.out.printf(
"今年已经%d了... ", age);    
        
if (age < 10)
            System.out.println(
"还是小屁孩");
        
else if (age < 18)
            System.out.println(
"还没成人呢");
        
else if (age < 23)
            System.out.println(
"大学毕业了");
        
else if (age < 30)
            System.out.println(
"努力工作中");
        
else if (age < 40)
            System.out.println(
"工作好累啊");
        
else if (age < 50)
            System.out.println(
"成功或失败");
        
else if (age < 60)
            System.out.println(
"准备退休了");
        
else if (age < 70)
            System.out.println(
"安度晚年了");
        
else if (age < 80)
            System.out.println(
"估计入土了");
        
else if (age < 90)
            System.out.println(
"寿星显灵了");
        
else if (age < 100)
            System.out.println(
"我是老妖怪");
        
else
            System.out.println(
"世界闻名了");
        
        
// 演示switch语句
        System.out.println("我的老婆出场了...");
        
//Java的switch只接受一个int,不接受long    
        char level = 'C';
        
switch (level)
        {
            
case 'A':
                System.out.println(
"仙乐飘飘,我是不是在做梦?");
                
break;
            
case 'B':
                System.out.println(
"得妇如此,夫复何求");
                
break;
            
case 'C':
                System.out.println(
"平平淡淡总是真");
                
break;
            
case 'D':
                System.out.println(
"生米做成熟饭了");
                
break;
            
default:
                System.out.println(
"人世间最悲惨的事莫过如此");
                
break;                
        }
        
        
// 演示循环语句
        System.out.println("准备攒钱买房了...");
        
int money = 0;
        
do
        {
            money 
+= 50000;         
        }
while(money < 500000);
            
        System.out.println(
"居然还是买不起" + money);
        
while(money < 1000000)
        {
            money 
+= 50000;         
        }
        
        System.out.println(
"居然还是要贷款" + money);
        
for (int i = 0; i < 15; i++)
        {
            money 
+= 30000;            
        }
        
        System.out.println(
"买房总共花费了" + money);
        
        System.out.println(
"命运是如此的奇妙...");
        
        
//演示带标签的break语句
        int life = 300;
        
int limit = 0;
        age 
= 0;
        lifeover:
        
while(true)
        {
            
//外在世界的影响
            int out = (int)(Math.random() * life);
            
if (out % 2 == 0)
                life 
-= 2;
            
else if (out % 3 == 0)
                life 
-= 4;
            
else if (out % 5 == 0)
                life 
+= 1;
                
            
while(true)
            {
                
//内心世界的影响
                int in = (int)(Math.random() * life);
                
if (in % 2 == 0)
                    
break;
                
else if (in % 3 == 0)
                    life 
-= 2;
                
else if (in % 5 == 0)
                    life 
+= 1;
                
else
                    
continue;
                    
                age
++;
                
if (life < 0)
                    
break lifeover;
            }           
        }
        System.out.printf(
"你共活了%d岁", age);
    }
}

    Java数组的练习:

import java.util.*;

public class ArrayTest {
        
    
/**
     * Creates a new instance of <code>ArrayTest</code>.
     
*/
    
public ArrayTest() {
    }
    
    
/**
     * 
@param args the command line arguments
     
*/
    
public static void main(String[] args) {
        
// TODO code application logic here
        String[][] records = new String[5][];
        
        System.out.println(
"                500万                500万                500万                500万");
        
int year = 2005;
        
for (int i = 0; i < records.length; i++)
        {
            String[] record 
= new String[i % 4 + 1];
            records[i] 
= record;
            System.out.printf(year 
+ "年    ");
            
            
for (int j = 0; j < record.length; j++)
            {
                String r 
= record[j];
                r 
= draw();
                System.out.printf(
"%-21s", r);
            }
            System.out.println();
            year
++;
        }
    }
    
    
public static String draw()
    {
        
int n = 36;
        
int k = 7;
        
int[] numbers = new int[n];
        
for (int i = 0; i < n; i++)
        {
            numbers[i] 
= i + 1;
        }
        
        
int[] result = new int[k];
        
for (int i = 0; i < result.length; i++)
        {
            
//这里是从numbers中随机选择一个数
            int r = (int)(Math.random() * n);
            result[i] 
= numbers[r];
            
//这里是把选中的数从numbers中抽出来,算法很精致啊
            numbers[r] = numbers[n-1];
            n
--;
        }
        
        
//重新排序
        Arrays.sort(result);

        
//打印出来
        String ret = "";
        
for (int r : result)
        {
            ret 
+= r + ",";
        }
        ret 
= ret.substring(0, ret.length()-1);
        
        
return ret;
    }
}

   我常说嘛,学习确实是枯燥的,但是乐趣是自己找的。反复练习以上的练习,如果还对这几个语法点不熟悉的话,“来人,把这个家伙直接拉出去埋了”。

   随着学习的深入,你可以把上述代码改成C#,Perl,Python,PHP,javascript,sql等等各种版本的,到那时你就清楚了,语言不过是工具,最终终归要解决问题的才是好的语言。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值