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 " 1000 01000 0x1000 );
        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等等各种版本的,到那时你就清楚了,语言不过是工具,最终终归要解决问题的才是好的语言。

你可能感兴趣的:(JavaScript,java,String,Class,import,Numbers)