java修行之路(一)

前言:java笔记。

一、基本语法
1.Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符。
2.定标识符规义合法则:

(1)由26个英文字母大小写,0-9 ,_或 $ 组成  
(2)数字不可以开头。
(3)不可以使用关键字和保留字,但能包含关键字和保留字。
(4)Java中严格区分大小写,长度无限制。
(5)标识符不能包含空格。

3.Java中的名称命名规范

(1)包名:多单词组成时所有字母都小写:xxxyyyzzz
(2)类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
(3)变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
(4)常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

4.变量的声明

(1)在方法体外,类体内声明的变量称为成员变量。
(2)在方法体内部声明的变量称为局部变量。

java修行之路(一)_第1张图片
图4-1 变量的分类

5.变量的分类-按数据类型

(1)注意:
    定义long类型的变量时,值的末尾加”L“或”l“。
    定义float类型的变量时,值的末尾加”f“或”F“。
    char类型只能表示一个字符。
(2)类型转换 
数据类型按容量大小排序为:
   a:自动类型转换:当容量小的数据类型与容量大的数据类型做运算时,容量小的会自动转为容量大的类型。
   b:强制类型转换:容量大的转换为容量小的,要使用强制类型转换符 :() 
   问题:导致精度的损失(这些数据类型底层都是有二进制数实现的,强转会去掉部分位数)。
   c:字符串与基本数据类型之间的运算:只能是连接运算 + ,得到的结果仍为一个字符串。
   d:byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型

java修行之路(一)_第2张图片
图5-1 数据类型分类

java修行之路(一)_第3张图片
图5-2 数据类型按容量大小排序

6.运算符

 (1)算术运算符
   + - * / %  前++ 后++  前-- 后--  连接符+
   a:前++  先自增1,后做运算。
   b:后++  先做运算,后自增1。
   例子:
   int a = 10;
   int b = a++;          //先把a赋给b,然后a加1
   System.out.println(a) //11
   System.out.println(b) //10

   int a = 10;
   int b = ++a;          //a先加1,然后再把a的值赋给b
   System.out.println(a) //11
   System.out.println(b) //11
(2)赋值运算符
   +=  -=  *=  /=  %=
   例子:
    int a = 2;
    a  += 1; // a = a + 1; 
(3)比较运算符
    ==  !=  <  >  <=  >=  instanceof(检查是否是类的对象) 例子:"hello" instanceof String  //true
(4)逻辑运算符        
    a:&和&&的区别:
    单&时,左边无论真假,右边都进行运算;
    双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
    b:异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。
(5)三元运算符
    图6-2

java修行之路(一)_第4张图片
图6-1 逻辑运算符

java修行之路(一)_第5张图片
图6-2 三元运算符

7.流程控制

(1)顺序结构 程序从上到下逐行地执行,中间没有任何判断和跳转。
(2)分支结构
    a、根据条件,选择性地执行某段代码
    b、有if…else和switch两种分支语句
(3)根据循环条件,重复性的执行某段代码
    a、根据循环条件,重复性的执行某段代码
    b、有while、do…while、for三种循环语句
    c、注:JDK1.5提供了foreach循环,方便的遍历集合、数组元素
(4)switch语句
    switch(变量){
    case 常量1:
        语句1;
        break;
    case 常量2:
        语句2;
        break;
    … …
    case 常量N:
        语句N;
        break;
    default:
        语句;
        break;
     }
    a、switch(表达式)中表达式的返回值必须是下述几种类型之一:byte,short,char,int,枚举,String
    b、case子句中的值必须是常量,且所有case子句中的值应是不同的
    c、default子句是可任选的,当没有匹配的case时,执行default
    d、break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾
(5)switch和if语句的对比
    a、如果判断的具体数值不多,而且符合byte、 short 、int、 char这四种类型。虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。
    b、其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广
(6)if语句就不再赘述。
(7)while 循环语句
    格式:
    [初始化语句]
    while(循环条件){
        执行语句;
        [迭代条件]
    }
    例子:
    int i = 0;
    while (i<3){
        System.out.println(i);
        i++;
    }
(8)do-while 循环语句
    格式:
    [初始化语句]
    do{
        执行语句;
        [迭代条件]
    }while(循环条件); 

    例子:
    int i = 1,sum = 0; //求100内所有值的和
    do{
        sum += i;
        i++;
    }while (i<100);
    System.out.println(sum);
(9)while语句和do-while语句的区别
    do-while至少执行一次。
    例子:
    int i = 3;
    do{
        System.out.println(i); // 结果为3,执行一次
        i++;
    }while (i < 3);

    while (i < 3){
        System.out.println(i); // 由于条件不符,没有执行
        i++;
    }

(10)for 循环语句
    格式:
    for (初始化表达式①; 循环条件②⑤⑦; 迭代条件){
        语句或语句块③⑥ ;
    }
(11)break语句和continue语句的区别
    a、break只能用于switch语句和循环语句中。
    b、continue 只能用于循环语句中。
    c、break在循环中表示结束 “当前” 循环。
    d、continue 表示跳过 “当次” 循环。
    e、break、continue之后不能有其他的语句,因为程序永远不会执行其后的语句。
    例子:
    for (int i = 1; i < 10; i++) {
        if(i % 3 == 0){
            break;
        }
        System.out.println(i);  // 1 2   
    }

    for (int i = 1; i < 10; i++) {
        if(i % 3 == 0){
            continue;
        }
        System.out.println(i); //1 2 4 5 7 8 
    }
(12)foreach循环
    例子:
    String[] names = new String[]{"xue","chen"};
    for (String name:names) {
        System.out.println(name);  //"xue" "chen"
    }

你可能感兴趣的:(java,java)