美文网首页
java 入门 一 基本语法

java 入门 一 基本语法

作者: x曦月y | 来源:发表于2016-07-20 23:13 被阅读52次

    首语:我们从基本的语法,数据类型,控制流程,结构化编程初识 Java...

    Markdown语法说明

    一.基本语法:

    javadoc:它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。

    打开Eclipse,点击标题栏project->Generation.


    二.数据类型:

    1.8种基本类型

    一、4种整型

    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,036854,775,807

    注释:java中所有的数据类所占据的字节数量与平台无关,java也没有任何无符号类型

    二、 2种浮点类型

    float    4 字节        32位IEEE 754单精度(有效位数 6 – 7位)

    double  8 字节        64位IEEE 754双精度(有效位数15位)

    三、1种Unicode编码的字符单元

    char    2 字节          整个Unicode字符集

    四、1种真值类型

    boolean    1 位            True或者false

    2.数据类型的转换

    分为以下几种情况:

    1)低级到高级的自动类型转换;

    2)高级到低级的强制类型转换(会导致溢出或丢失精度);

    3)基本数据类型的算法;

    4)基本类型向类类型转换;

    5)基本类型向字符串的转换;

    6)类类型向字符串转换;

    1.自动转换规则

    boolean类型与所有其他7种类型都不能进行转换。其他7种都可自行转化,但是会出现精度损失。

    byte <(short=char)< int < long < float < double

    1.在一个双操作数以及位运算等算术运算式中,会根据操作数的类型将低级的数据类型自动转换为高级的数据类型,分为以下几种情况:

    1)只要两个操作数中有一个是double.float类型的,另一个将会被转换成double.float类型,并且结果也是double类型;---->int a = 1;double b = 5;b = a;  //b = 1.0

    2)只要两个操作数中有一个是long类型的,另一个将会被转换成long类型,并且结果也是long类型;

    ---->int a = 1;long b = 5;b = a;  // b = 1

    3)两个操作数(包括byte、short、int、char)都将会被s转换成int类型,并且结果也是int类型。

    2.强制类型转换规则:

    需要在来在低级前说明,要转化的类型。强值类型转换会出现数据溢出。

    ----->float a = 1;int b = 5;b = (int) a; //a=1

    3.基本数据类型的算法:

    long sum = longnum + bytnum;(加减乘除 他们的和是长的数据类型);

    包装数据类型与基本数据类型之间的转换

    简单类型的变量转换为相应的包装类,可以利用包装类的构造函数。即:Boolean(boolean value)、Character(char value)、Integer(int value)、Long(long value)、Float(float value)、Double(double value)。

    4.基本类型向类类型转换:

    正向转换:通过类包装器来new出一个新的类类型的变量

    Integer a= new Integer(2);

    反向转换:通过类包装器来转换

    int b=a.intValue();


    通过类包装器——>基本数据类型

    eg1:int i=Integer.parseInt(“123”)

    说明:此方法只能适用于字符串转化成整型变量

    eg2: float f=Float.valueOf(“123”).floatValue()

    说明:上例是将一个字符串转化成一个Float对象,然后再调用这个对象的floatValue()方法返回其对应的float数值。

    eg3: boolean b=Boolean.valueOf(“123”).booleanValue()

    说明:上例是将一个字符串转化成一个Boolean对象,然后再调用这个对象的booleanValue()方法返回其对应的boolean数值。

    eg4:double d=Double.valueOf(“123”).doubleValue()

    说明:上例是将一个字符串转化成一个Double对象,然后再调用这个对象的doubleValue()方法返回其对应的double数值。

    eg5: long l=Long.valueOf(“123”).longValue()

    说明:上例是将一个字符串转化成一个Long对象,然后再调用这个对象的longValue()方法返回其对应的long数值。

    eg6: char=Character.valueOf(“123”).charValue()

    说明:上例是将一个字符串转化成一个Character对象,然后再调用这个对象的charValue()方法返回其对应的char数值。

    5.基本类型向字符串的转换:(生成对应的数据类类型,调用包装类)

    基本类型向字符串转;

    int i1 = 10;     double d1 = 3.1415926;

    Integer I1 = new Integer(i1);// 生成Integer类

    String si1 = I1.toString();// 分别调用包装类的toString() 方法转换为字符串

    System.out.println("si1" +si1);//si110


    int a = 1234;

    String String = "" + a;

    System.out.println(""+2+3);// “""”把2转成字符串操作;

    System.out.println(2+3);//不存在转换。

    System.out.println(2+3+"");//前两个数值相加后,被“""”转成字符串。

    System.out.println(2+""+3);//同第一个。

    输出显示为:23,5,5,23

    字符串转基本数据类型;

    String MyNumber ="1234";

    int MyInt = Integer.parseInt(MyNumber);

    int sum = MyInt*3;

    System.out.println(sum);//3702

    6.类类型向字符串转换:

    正向转换:因为每个类都是object类的子类,而所有的object类都有一个toString()函数,所以通过toString()函数来转换即可

    反向转换:通过类包装器new出一个新的类类型的变量

    eg1: int i=Integer.valueOf(“123”).intValue();

    三.控制流程:

    1.循环语句(whlie):累加的作用。

    while(循环条件){

    循环体;}

    语法说明:和if 语句类似,如果不是用代码块的结构,则只有while后面的第一个语句是循环体语句。在该语法中,要求循环条件的类型为boolean类型,指循环成立的条件,循环体部分则是需要重复执行的代码。

    int i = 0;

    while(i < 10){

    System.out.println(i); //输出变量的值

    i++; //变量的值增加1

    }// 变量条件不增循环往复。在控制台下执行死循环的程序,可以按Ctrl+C 结束循环,在Eclipse 中运行死循环的程序,可以选择执行窗口中的红色按钮“Terminate”结束程序。

    int i = 1; //循环变量

    int sum = 0; //数字和

    while(i <= 10){

    sum += i; //和当前的i 值相加

    i++; //变量i 增加1

    }//第一次循环是把和1 相加的结果赋值给sum,然后再使用sum 的值和2 相加再赋值给sum,依次类推,则得到1-10 之间所有变量的和。

    int i = 0;

    while(i < 10){

    i++; //变量的值增加1

    System.out.println(i); //输出变量的值

    }

    1.循环(do-while):

    do-while是典型的 "先循环再判断" 的流程控制结构

    do{

    循环体;

    }while(循环条件);

    语法说明:在do-while 语句中,循环体部分是重复执行的代码部分,循环条件指循环成立的条件,要求循环条件是boolean 类型,值为true 时循环执行,否则循环结束,最后整个语句以分号结束。

    int i = 0;

    do{

    System.out.println(i); //输出变量的值

    i++; //变量增加1

    }while(i < 10);

    1.循环(for):

    for(初始化语句;循环条件;迭代语句){

    循环体;

    }

    1、和其它流程控制语句一样,语句中的大括号不是语法必须的,但是为了结构清楚以及在循环体部分可以书写多行代码,一般使用大括号。

    2、初始化语句作用是在循环开始以前执行,一般书写变量初始化的代码,例如循环变量的声明、赋值等。该语句可以为空。

    3、循环条件是循环成立的条件,要求必须为boolean 类型,如果该条件为空,则默认为true,即条件成立。循环条件为空时,默认为true,但是会死循环;

    4、迭代语句是指循环变量变化的语句,一般书写i++、i—这样的结构,当然,该语句也可以为空

    5、循环体指循环重复执行的功能代码。

    2.分支/条件(if):

    int a = 10;

    if(a >= 0)

    System.out.println(“a 是正数”);

    if( a % 2 == 0)

    System.out. println(“a 是偶数”);

    2.条件分支语句(if-else):

    if(判断语句){

       true, 执行语句1;

    }else {

        false,执行语句2;

    }

    语法说明:其中前面的部分和if 语句一样,else 部分后面是功能的代码,按照该语法格式,功能代码只能有一句。

    执行顺序:如果条件成立,则执行if 语句中的执行语句1,否则执行else 中的执行语句2。

    int n = 12;

    if(n % 2 != 0)

    System.out.println(“n 是奇数”);

    else

    System.out.println(“n 不是奇数”);

    2.条件分支语句(if-else else-if):

    if (判1){

    true, 执行语句1;

    }else if (判2) {

    false,执行语句2;

    }else{

    false 执行语句3;

    } ///在执行时注意,可以统计你需要记录的false和true的数量,倘若除了某总情况其他都是true可以不需要用这种方法。

    2.条件分支语句(switch):

    switch 语句在条件语句中特别适合做一组变量相等的判断,在结构上比if 语句要清晰很多。

    相关文章

      网友评论

          本文标题:java 入门 一 基本语法

          本文链接:https://www.haomeiwen.com/subject/pndjjttx.html