Java基础1

unit1 Java基础

1.Java语言跨平台性:面向对象+跨平台

  JDK:程序开发工具包,开发 = JRE+使用的工具

  JRE:运行环境,运行 = JVM+核心类库

  JVM:虚拟机,翻译,jvm是各自的

  JDK》 JRE》 JVM

2.JDK下载:JDK安装-》配置环境变量-》  

  javac就是编译:javac S.java     java就是系统程序:java S 

3.命名:类HelloWorld         变量名:helloWorld            方法名:同变量名

  关键字:硬定义,完全小写,颜色花色    

  标志符:自定义,英文,数字,$,_       不可以数字开头                     

  常量:字符串,整数,浮点数,字符,布尔(true,false),空(null)

         String""中间可以为空也可以什么都没有,char‘ ’中间可以是空格但是不能什么都没,并且有且只能有一个 

    空常量不可以直接打印输出:sout(null);

 变量:int  a = 10;     先赋值(=)再使用,byte和short的右边数值不可超过左边数据类型范围,float=F,long=L,可以通过一个语句创建多个变量但是不推荐(int  a,b,c;      a=1;  b=2;  c=3;        int   q=1,b=2,c=3;  )

 数据类型:基本数据类型:(整数)byte1 -short2 -int4 -long8         (浮点) -float4 -double8            (字符) -char2        (布尔) -boolean1  

          引用数据类型:String         类,数组,接口

          数据类型转换:隐式转换,自动类型转换,低到高,数据范围从小到大:byte1 -short2 -int4 -long8 -float4 -double8  

            显式转换,强制类型转换,反之,数据范围从大到小:int   num = (int) 100L;// (强转的类型)long->int 

               意外:数据溢出整数,精度损失小数;数据范围与字节数不一定相关

ASCII编码:byte, short, int, 都可以数据运算的,但是运算时先提升成为int类型,再运算

      如果没有超过左侧范围,编译器补上强转           如果超过,编译器报错         编译器javac,编译器的常量优化         

运算符:算术运算符(类型不统一时自动跟大,一般默认int类型。+, -, *,  /,  %(mod) 。++a,先加再用。a++,先用再加。)    

    赋值运算符(=,+=,-=,*=,/=,%=)其中隐含了强转,只可以用于变量  三元运算符(条件,二选一,if-else,A ?  a : b)

    比较运算符(==相等  =赋值 。结果一定是boolean类型,一步只判断一个,不可以连着写 1<X<3)  

    逻辑运算符(&与   ||或    !非   ,只有它是一元运算符    短路??)  

    优先级:增量减量》算术》比较》逻辑》赋值

    对于String字符串,+代表连接;自增自减只可以用在变量

4.方法:主方法:public static void main(String args[]){ }  定义方法后,先调用再执行      方法不可以嵌套或者包含! 

    定义:public static void run(){}      调用:run();         执行:

 流程控制:顺序结构:

      选择结构:if(布尔类型)  if-else(可以和三元运算符替换)   if-else if-else if-else(执行n+1) switch(){case: break;....;default:break;}

           default就是收尾,最后一个break最好不要省略;case:XX后面不可以重复 ;switch(byte,short,char,int,String,enmu)      

           循环结构:for( 初始化表达式;布尔表达式;步进表达式 )         

             while(条件表达式)      do-while(先执行再判断,二次执行)  

           foreach()?????      循环嵌套

             break打断,continue跳过当前           死循环(Ctrl+C,强制停止)-------while(true){...}

               for循环:for(初始化表达式;布尔表达式;步进表达式)                for(int i = 1; i <= 100; i ++){ ... }

               while循环:初始化表达式;                   //初始化语句             int   i = 1;

                  while(布尔表达式){       //条件判断                 while(i <=100){

                      循环体;       //循环体                             ....

                      步进表达式;     //步进语句          i++;

                       }  //类似于for循环                                                          }

             do-while循环:初始化表达式;                                    int   i = 1;

                    do {                     do {

                      循环体;                                                               ....

                      步进表达式;                i ++;

                    } while (条件判断);            } while (i <=100) ;

             三者区别:从未满足时,for,while,0次       do-while,至少1次

             使用:次数确定用for     反之用while

5.集成开发环境IDE介绍,IntelliJ IDEA:Module--src---package---class

    psvm  sout  Alt+F4=Run  Alt+Enter=mix  Ctrl+/=单行注释

6.方法回顾详解:例子:

* 三要素:
* 返回值类型:不用返回值,用void就行
* 方法名称:sum
* 参数列表:打印的次数,用int count

  有参无参:(String args[])  ()

  有返回值无返回值:有的话有return无void,反之。。无参只能单独调用就是void

  调用:单独调用:方法名称(参数);void只能进行单独调用

        打印调用:sout(方法名称(参数));

     赋值调用:数据类型   变量名称 = 方法名称(参数);

       找到方法----参数传递----执行方法体-----带着返回值回到方法的调用处(return)

7.方法重载:Overlord,功能类似的方法,可以进行同名方法,参数个数/或者类型/或者次序/不同

8.数组:Array,引用数据类型,类型统一,长度不能随意改变

  数组初始化:动态给长度,静态给内容,且动态初始化有自动的默认值

  创建数组:int[] arrayA = new int[3]; //动态定义  int[] arrayB =  new int[] {1,2,3,4}; //静态定义===int[] arrayC = {1,2,3,4};

  静态初始化:(array)直接打印数组名称,得到的是数组内存 的hash值    (array[3])数组索引值从0开始,打印第四个

       动态初始化:其中元素将会自动拥有一个默认值

  内存划分:栈stack  堆heap  方法区method

  问题:数组索引越界异常:ArrayIndexOutOfBoundsException

       空指针异常:NullPointerException,原因是忘了new

  长度:A.length      数组一旦创建,程序运行期间,长度不可以改变

  遍历:for循环遍历数组      for(..)   {    sout (array[i]);    }        快捷键:array.fori

  最值:max     min

 元素反转:交换
作为方法参数传递:printArray(int[] array){}
作为方法返回值:return array;

9. 补充:

进制转换,,,,,,,,存储单元(1Byte==8bit)

命令提示符cmd:cd ..返回上一级    cd \返回根   dir查看文件夹    cls清空   exit退出

打开文件拓展名,,,,,,,,,方便修改

posted @ 2020-02-08 16:43  only~~  阅读(236)  评论(0编辑  收藏  举报