您的位置:首页 > 编程语言 > Java开发

java注释、数据类型、数组、流程控制符 4000

2017-09-11 23:14 211 查看
java中的注释:                                                                            

 * 描述:我的第一个java应用程序
 * @authorliwang
 *2017/9/11
 */
public
class
Demo {
     public
static void
main(String[]args){
           //向控制台输出一串字符
          System.out.println("HelloWorld!");
          /*使用javac命令编译成字节码(.class)文件
          使用java命令解释执行为特定平台的机器码*/
     }
}    

java的数据类型:

八种基本类型

整型

类型

存储需求

取值范围

byte

1字节
–128 到 127

short

2字节
–32,768 到 32,767

int

4字节
–2,147,483,648到 2,147,483, 647 (刚刚超过20亿)

long

8字节
–9,223,372,036,854,775,808 到 9,223,372,036,854,775,807

浮点类型

float

4字节
大约±3.40282347E+38F (有效位数6–7 位)

double

8字节
大约±1.79769313486231570E+308 (有效位数15 位)

字符类型

char

2个字节
 

布尔类型

boolean

true false

 

引用类型:(数组,类,接口)

java中默认的整数类型为int类型,如果要定义为long类型,则要在数值后加上l或者L

默认的浮点型也是双精度浮点,如果要定义为float类型,则要在数值后加上f或者F

   int a=12;
         byteb=(byte)a;//12自动类型转换
         char c='男';
         int
i
=c;//30007 自动类型转换(‘男’以Unicode码保存在电脑中,此处可以得到他的unicode值)
         int i1=200;
         byteb1=(byte)i1;//-56强制类型转换(200超过byte范围得到错误结果)
         double d=12.3;
         int
i2
=(int)d;//12强制类型转换,int只能保存整数,损失精度
 

数组与值传递

public 
class
Demo {
    public
static void
main(String[] args){
        int int1=100;
        int int2=int1;//拷贝值(真实值)
        int1=500;
        System.out.println("打印int1的值:"+int1);
        System.out.println("打印int2的值:"+int2);
       
        int[] arr1=newint[]{1,2,3,4,5};/或者int[]
arr1={1,2,3,4,5},
        int[] arr2=arr1;//拷贝一份内存地址(地址值),
        arr1[0]=0;
        System.out.println("arr1[0]的值:"+arr1[0]);
        System.out.println("arr2[0]的值:"+arr2[0]);
        }
}  
结果:

打印int1的值:500
打印int2的值:100
arr1[0]的值:0
arr2[0]的值:0

流程控制

案例一(for循环):

跳出多重for循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环。例如,

     ok:
     for(int i=0;i<10;i++)   {
              for(int j=0;j<10;j++)      {
                 System.out.println("i=" + i +",j="+ j);
                 if(j == 5)break ok;
              }
          }

通常并不使用标号这种方式,而是让外层的循环条件表达式的结果可以受到里层循环体代码的控制,例如,要在二维数组中查找到某个数字。                                           

        int arr[][] = {{1,2,3},{4,5,6,7},{9}};
        boolean found =false;
        for(int i=0;i<arr.length && !found;i++)   {
                for(int j=0;j<arr[i].length;j++){
                   System.out.println("i=" + i +",j="+ j);
                   if(arr[i][j] == 5) {
                       found = true;
                       break;
                   }
                }
         }

扩展:&与&&的区别

&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null&& !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33 &++y>0) y会增长,If(x==33 && ++y>0)不会增长。

&还可以用作位运算符。                                                                        

案例二(switch循环):

        switch(表达式){//表达式的类型只能为 byte shortint char String
            case值1:
                代码1;
                break; //终止循环
                ......
            default :
                代码2;
      }
扩展:break与continue的区别

      for (int i
= 1; i <=5; i++) { 
            if (i == 3) continue; //跳出本次循环,执行下次循环,而break为终止循环
            System.out.println("i=" + i); 
        } 

输出:
i=1 
i=2 
i=4 
i=5 

其他略。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐