java总结1

来源:互联网 发布:多线程经典案例 java 编辑:程序博客网 时间:2024/06/07 19:29

The 1st day——2017.11.25.

一.JAVA简介:

     1.JAVA之父-詹姆斯.高斯林(“高司令”);

     2.JAVA优势:(1)跨平台(“一次编译,到处运行”);(2)健壮,安全;(3)分布式;(4)多线程;(5)面向对象;(6)高性能。

     3.环境变量的设置:(1)添加JAVA_HOME环境变量,指向JDK安装目录;(2)修 改path: 用于指定操作系统的可执行指令的路径。

二.DOS命令:

     1.切换目录:cd /d 目标目录

     2.编译java源代码:javac -d . java源文件名称

     3.运行.class文件(字节码文件):java 包.class类名

三.变量:每次变量使用前必须要先申明,然后赋值,方可使用。eg:int i=20;

四.数据类型的转换:

                               

      1.自动转型:小范围转换成大范围数据

                               大范围数据类型 变量名=小范围数据类型的值     eg:long=5;

      2.强制转型:大范围数据类型转换成小范围数据

                                小范围数据类型 变量名=(小范围数据类型)大范围数据类型的值; eg: int a=(int)5L;

      3.java语言整型常量默认为int;java浮点型常量默认为double型;char字符本质是数字;boolean类型不能转换成任何其它数据类型。

      4.转义字符:

                         

五.运算符

      1.易混淆运算符:

       (1)自增运算符:++

                a++:先保存旧值,再自增,用旧值参加运算;++a:直接自增,用自增后的值参与运算。

       (2)短路与&&:  如果前面的判断结果为false,则后面的判断不再执行;

               非短路与&:每一格判断逻辑都要执行

       (3)短路或|| :如果前面的判断结果为true,则后面的判断不再执行;

               非短路或|:每一个判断逻辑都要执行。

      2.位运算符:

       ***在计算机中数字的运算都是按照“补码”的形式运算的。

       (1) 正数的原码、反码、补码、是相同的。

       (2)负数的反码是其原码除了符号位以外的二进制位取反,其补码是反码加1。

       (3)符号位是最左边的那个二进制位,0代表正数,1代表负数。

       (4)按位与:& 两个二进制位都为1,结果才为1,其余结果为0;

       (5)按位或:| 只要有一个二进制位为1,结果就为1,而两个二进制位都为0,则结果为0;

       (6)按位异或:^ 相同的两个二进制结果为0,不同的二进制结果为1;

       (7)按位取反:~0变1,1变0。

       (8)右移:>>右移后,左边的二进制位用符号位来补,正数补0,负数补1;

       (9)左移:<<左移后,右边的二进制位用0来补;

       (10)无符号右移:>>>右移后,左边的二进制位用0来补。

      3.三目运算符:结果返回boolean值的表达式?"结果为true时内容":"结果为false时内容"。

The 2nd day——2017.11.26.

五大结构语句的使用:

一.IF结构:

    1.if语句

        if(条件表达式){

               表达式结果为true,执行此处代码

        }

     2.if-else语句

       if(条件表达式){

                表达式结果为true,执行此处代码

        }else{

               表达式结果为false,执行此处代码

        }

     3.if-else if-else if-..-else语句      

        if(条件表达式){

               

        }else if(条件表达式){

               

        }else if(条件表达式){    

        }...

        else{

              //以上表达式结果均为false,执行此处,此分支可选。

         }

        ***这个结构中只执行第一次表达式结果为true的那个分支,如果所有分支的表达式为false,则执行最后面的else分支,else分支可选。

        eg:/*多重IF*/

             package org.westos.ifdemo;
             import java.util.Scanner;

             public class MuIF  {
               public static void main(String[] args) {
   Scanner scan=new Scanner(System.in);  // 用此“扫描器”接收键盘输入
   System.out.print("请输入考试成绩:");
                    int score=scan.nextInt();   // 接收键盘输入的整数类型,输入完成之前一直阻塞
                    if(score>=90){
                 System.out.println("优秀!");
                    }else if(score>=80){
                  System.out.println("良好");
                    }else if(score>=70){
                  System.out.println("一般");
                    }else if(score>=60){
                  System.out.println("及格");
                    }else{
                  System.out.println("不及格,准备补考!");
                    }
                    scan.close();
        }
             }

 二.SWITCH结构:

           switch(表达式){

           case 常量1;

                     代码1;

                      break;

                   case 常量2;

                       代码2;

                       break;

             ...

                 default;

                        代码 ;

                        break;

             }

             ***规则:(1)返回值必须是:int, byte, char,short,String,enum;(2)case子句中的取值必须是常量,且所有case子句中的取值应是不同的;(3)default子句是可选的,break语句用来在执行完一个case分支后使程序跳出switch语句块。

            eg:/*switch表达式的返回值必须是byte, short,int, char,String,enum之一*/

                 package org.westos.switchdemo;
                 import java.util.Scanner;
                    public class SwitchDemo {

               public static void main(String[] args) {
                      Scanner scan=new Scanner(System.in);
                      System.out.print("请输入季节:");
                      String season=scan.next();
                      switch(season){
                    case "春天":
                      System.out.println("春暖花开");
                      break;
                     case "夏天":
                              System.out.println("夏日炎炎");
                      break;
                     case "秋天":
                             System.out.println("硕果累累");
                      break;
                     case "冬天":
                     System.out.println("白雪皑皑");
                     break;
                    default:
                     System.out.println("输入季节有误!");
                             }
                              scan.close();   // 关闭
}

三.FOR循环

     格式:for(int i=0;i<100;i++){

                   System.out.println("好好学习!");

                   }

      ***在循环结构中,break跳出整个循环,continue跳出当前循环

       eg:/*实现1-100能被3整除不能被5整除的数的和*/

           package org.forloop;
         
 public class DivideFor {

             public static void main(String[] args) {
int sum=0;
for(int i=1;i<=100;i++){
if(i%3==0 && i%5!=0){
sum+=i;   // 相当于sum=sum+i
}
}
System.out.println("结果是:"+sum);
    }
         }

四.WHILE循环

      格式:

              while( 条件表达式语句){

                             循环体语句 

                }

       ***先判断条件,再决定是否循环。

       eg:/*while exam*/

           package org.whiledemo;
            import java.util.Scanner;
            public class WhileExam {
           public static void main(String[] args) {
                       Scanner scan=new Scanner(System.in);
                       int count=0;   // 用来记录考试次数
                      System.out.print("请输入当前成绩:");
                      int score=scan.nextInt();
                      while(score<60){
                        count++;
                        System.out.println("当前不及格,第"+count+"次补考");
                        System.out.println("***补考中***");
                        System.out.print("输入补考后的成绩:");
                        score=scan.nextInt();
                     }
                     System.out.println("恭喜,考试通过!");
                     scan.close();
          }
            }

五.DO HILE循环

      格式:do{

                      循环体语句;

                  }while(条件表达式);

      ***至少执行一次循环体,再判断条件,如果条件判断的结果为true,则再次循环,否则,停止循环

         eg:/*do while*/

              package org.whiledemo;
              import java.util.Scanner;

                       public class DoWhile {
               public static void main(String[] args) {
            Scanner scan=new Scanner(System.in);
            int score=0;
            do {
           System.out.print("请输入考试成绩:");
           score=scan.nextInt();
             } while (score<60);
            System.out.println("恭喜,考试通过!");
            scan.close();
                }