Java基础知识(上)

来源:互联网 发布:js设置div不可见 编辑:程序博客网 时间:2024/04/30 02:45

Java基础知识(上)
1、计算机基础知识
1、计算机硬件

                软件的基础设施,就是载体

2、计算机软件

                  系统软件:windowsMACLINUX

                  应用软件:QQ YY momo

 3、软件开发

                  用开发工具和计算机语言做出软件就是软件开发

 4、计算机语言

                  人与计算机的交流方式

 5、人机交互

                  就是人与计算机打交道

                  图形界面方式:这种方式方便,简单直观

                  窗口方式:要有控制台,需要记住很多命令,这种方式麻烦

 6、键盘功能键和键盘快捷键

                  功能键:知道位置即可

                          tab

                          shift

                          ctrl

                          alt

                          enter

                          windows

                          prtsc

                          上下左右键

                  快捷键留个作业补齐中文意思

                          ctrl+A 

                          ctrl+c

                          ctrl+v

                          ctrl+s

                          ctrl+z

                          ctrl+y:还原撤销
                    

 7、常用的DOS命令

                  1、如何打开控制台

                          a win+r cmd 回车

                  2、常用的命令

                          d:回车

                          cd demo 进入demo文件夹

                          cd .. 返回上一层

                          cd \ 返回根目录

                          cls 清屏

                          exit 退出
                    mspaint :打开画图软件
2JAVA语言概述
1JAVA语言的平台

                  A:J2SE:基础版,桌面应用

                  B:J2ME:微型版,手机开发

                  C:J2EE:企业版,简单说就是所有浏览器访问的程序

 

                  注意JDK5以后改名JAVASE, JAVAME, JAVAEE

 

                  注意:J2SE是学习其他两门的基础

2Java语言的特点

                  重点记   

                          开源:源代码开放

                          跨平台:在任意操作系统下都可以使用

3、跨平台

                  通过火星人和中国人,德国人交流知道的原理:找一个翻译。而JAVA语言的这个翻译是JVM

 

                  注意JAVA语言是跨平台的,JVM不是跨平台的

4JRE JDK

                  JRE:JVM+class library(类库组成,是JAVA程序的运行环境

                  JDK:JRE+TOOLS,是开发工具包

                  JDK开发的软件必须在JRE上运行,并且有JVM保证跨平台

3、HelloWorld案例

  1、开发工具

                  记事本,高级实施本(EditPlus),集成开发工具,Eclipse\MyEclipse

  2、一个HelloWorld案例

                            class Demo{

                                public static void main(String[] args){

                                    System.out.println("Hello World");

                                }

                            }

                          解释:

                                   1java语言的最基本单位用class表示

                                            定义类的格式class 类名

                                   2、程序如果要运行、就行必须有main方法

                                            public static void main(String[] args){}

                                    3、程序要输出内容就必须有输出语句

                                            System.out.println("...");

 3、如何执行JAVA程序

                          1、开发源程序

                          2、编译源程序 javac Demo.java

                          3、通过JAVA执行 java Demo

                           注意:不是必须每次编译才能运行,如果已经编译好,直接运行就可以了

 4、常见的错误及注意事项

                          A:文件扩展名导致编译失败。把隐藏文件扩展名给显示出来。

                              win7,win8的同学如果不会单独问我。

                          B:非法字符错误

                              只要看到是非法字符,肯定是中英文问题。

                              因为我们要求所有的符号全部是英文状态的。

                          C:注意大小写问题

                              class -- Class

                              String -- string

                              System -- system

                          D:括号的对应问题

                              java程序中,括号都是成对出现的。

                              所以,我建议在编写程序时,请遇到括号,成对打。

                          E:main方法格式错误  

                              public static void main(String [] args){ }

                          F:java源文件发生变化后,请重写编译在运行

                          G:缩进问题

                              写代码,遇到{},请缩进一个tab位置。

4、环境变量
  1、path环境变量的作用

                  JAVAC JAVA命令可以在任意目录可以被访问

 2path环境的配置

                  两种方案:

                          只修改PATH

                          先建立一个JAVA_HOME,值是"D:\..\JDK1.7",后修改PATH:%JAVA_HOME%

 3、classpath环境的配置

                  class文件在任意目录都可以被访问

                  技巧:在最左边配置一个.;这样做的好处就是能够先在当前目录下查找并执行

注意:在Path中用";"分割不同的文件目录 
5、关键字
  1、概念        

          在Java语言中具有特殊含义的单词。

 2、特点

                  Java语言中的所有关键字全部小写。

 3、注意

                  gotoconstJava语言中有,但是一直未使用。

6、标识符
1、概念

        对各种变量、方法和类等要素命名时使用的字符序列称为标识符。(其实就是个名字)

                由26个英文字母大小写,数字:0-9 符号:_ $ 组成

2、组成规则

                    A: 标识符由字母、下划线“_、美元符“$”或数字组成。

                    B: 标识符应以字母、下划线、美元符开头(只要不以数字开头就OK)

                    C: 不能和关键字重名。

                    D: 名字不要用空格隔开。

                    E: Java中严格区分大小写

3、常见的命名规则

                  A:

                          用于把同名的文件放到不同的目录下。

                          全部小写。如果是多级包,用.分开。

                                   举例:

                                            itcsdn

                                            cn.itcsdn

                                            com.baidu

                          给某个公司做项目:域名反写作为包名。

                 B:类和接口(见名知意,驼峰命名)

                          a:如果类名是一个单词,这个单词的首字母大写。

                                   举例:

                                            Student

                                            Teacher

                          b:如果类名是由多个单词组成,每个单词的首字母大写。

                                   举例:

                                            HelloWorld

                                            LinQingXia

                  C:方法和变量

                          a:如果是一个单词,这个单词的首字母小写。

                                   举例:

                                            main()

                                            age

                          b:如果是多个单词组成,从第二个单词开始,每个单词的首字母大写。

                                   举例:

                                            showName()

                                            studentAge

                 D:常量

                          a:如果是一个单词,全部大写。       

                                   举例:

                                            PI

                          b:如果是多个单词,全部大写,并用_隔开

                                   举例:

                                            STUDENT_MAX_AGE

7、注释

        1、概念      

        用于解释说明程序的,给人看的。

        2、分类

                  A:单行注释

                          //

                  B:多行注释

                          /*  */

                  c:文档注释

                        /**  */

        3、作用

                  A:对程序进行解释说明

                  B:用于调试程序错误

 

       要求: 以后类上面和方法上面一律用文档注释

8、常量

         1、概念

        在程序运行过程中,其值不会发生改变的量

        2、分类

             A 、字面值常量

                      整数常量:1,2,-3

                      小数常量:2.3,-232.3

                      字符常量:‘A’

                      字符串常量:”Hello World”

                      布尔常量: true false

                      空常量 null

             B 、自定义常量

                      类、接口、数组

9、进制

         1、概念

                   X进制就是逢X1

         2、 JAVA中的进制

                  二进制:0b开头,JDK1.7以后才后的

                  八进制: 0开头

                  十六进制:0x开头

                  十进制:默认就是,什么都不用写

        3、其他进制转十进制

                公式:所有系数 * 基础 ^ 权相加的和

                    系数:每一位上的数

                    基础:X进制基数就是X

                    权:从右往左,从0位置开始编号,每一位对应的编号就是权

        4、十进制转其他进制

                除基取余,直到商为0,余数反转

        5、进制的快速转换

                8 4 2 1

                    二进制--八进制(3位组合)

                    二进制--十六进制(4位组合)

10、变量的概述

        1、概念

                他是内存中的一个存储空间,在程序运行过程中,其值在指定范围内可以改变的量

        2、命名规范

                 如果变量由一个单词组成,首字母小写,如果有多个单词组成,第一个首字母小写,其他的首字母大写,要做到见名之意

        3、格式

                 格式1:数据类型变量名初始化值;

                 格式2:数据类型变量名;

                              变量名初始化值;

                 格式3:数据类型变量名1 = 初始化值,变量名2 = 初始化值,..;

                 格式4:数据类型变量名1,变量名2;

                              变量名1 = 初始化值;

                              变量名2 =  初始化值;

        4、 注意事项

                          在一个{}内,不能存在重名的变量;

                           变量要先初始化再使用(在使用之前初始化即可)

                           为某一个变量赋值的时候尽量不要超过其能表示的范围

                           变量名称的定义要见名之意,不要写一写容易混淆的

                           定义long类型或者单精度浮点型变量的时候,一定要在数据的后面+l或者+f

 11、数据类型

                1、分类  

                        (四类八种)

                          整型 byte short int long

                          浮点型 float double

                          字符型 char

                          布尔型 boolean

                  2、注意

                          整数默认是int,所以long类型后面加Ll

                          浮点数默认是double类型,所以float类型需要加fF

                   3、数据类型转换

                            1、隐式转换:直接赋值

                                    btye short char 在运算过程中自动提升为int

                                    btye short char ->int - >long -> float ->double

                            2、强制转换

                                    (数据类型数据或变量名

12、算数运算符

                1、分类  

                        +, - , * , /, %,++,--

                 2、补充说明

                      +: 加法运算,字符串连接,如果做字符串连接符,会按照从左往右的顺序按照运算符的规则该怎么运算就怎么运算直到遇到                字符串就变成字符串连接符了

                      /:     如果想要结果为负数,那么/中至少有一个是负数

                     %: 如果想要结果为负数,那么左边必须是负数

                      ++:

                              int num = 1;

                              前自加: ++num;

                                                前自加的值是加之后的值

                              后自加:num++

                                                后自加的值是加之前的值

                  System.out.println(num++ == ++ num);

                    num++;只有这种情况才是里存在的

13、 赋值运算符

                1、分类  

                    =+= ,-=,%=,*=,/=

                2、重点

                         +=: 内含强制转换

                         比如(面试题):

                                   short s = 2;

                                   s += 3;

                                   等价于 s = (short)(s+3);

14、比较运算符或关系运算符

                1、分类  

                    ==,!=,>=,>,<=,<

                2、特点

                          1、关系运算符的结果必须是boolean

                          2、两边的类型必须一致

                3、注意

                        别把== 写成 =

  15、逻辑运算符

                1、分类

                       &,|,!,^,&&,||

                2、详细说明           

                      &:有假则假

                      |:有真则真

                      !:真则假,假则真

                      ^:相同为假,不同为真

                 

                     &&:短路与:如果左边为false,右边不执行

                      ||:短路或如果左边为true,右边不执行

                      开发中常用&&,||,!

16、条件运算符

          又叫三元运算符,三目运算符       
        1、 格式

                  条件表达式表达式1:表达式2;

        2、执行流程

                根据条件表达式返回的值是true还是false决定结果是什么,如果是true,就把表达式1作为结果,如果是false就把表达式2作为结果

                举例:int a = 100; int b = a>50?200:100;
        3、注意
               既然是表达式,就必须有结果
        4、什么时候用
               给变量赋值的时候用

17、if语句

         1、使用场景

                1、常见于对某个范围进行判断

                2、几个变量判断

                3boolean类型表达式的判断

         2、格式

                          A:第一种格式

                                       if(条件表达式)

                                       {

                                              语句体;

                                        }

                                执行流程 : 自己总结
                              这里知道被{}包裹起来的就是代码块就可以了

                          B:第二种格式

                                       if(条件表达式)

                                       {

                                               语句体;

                                        }else{

                                               语句体;

                                        }

                                执行流程 : 自己总结

                                 

                         C:第三种格式

                                       if(条件表达式)

                                       {

                                               语句体;

                                        }else if(条件表达式2)

                                        {

                                                语句体;

                                        }else{

                                                 语句体;

                                        }

                                   执行流程 : 自己总结

          3、注意事项

                          什么时候用哪一种if语句

                                   第一种格式在判断条件为一种情况下使用

                                   第二种格式在判断条件为两种情况下使用

                                   第三种格式在判断条件为多种情况下使用

                          每一种if语句其实都是一个整体,如果有地方执行了,其他的就不执行了

                          如果if或者else里面控制的语句体是一条语句是可以省略大括号的,但是,如果是控制多条语句,必须加上大括号

                                   建议:永远写上大括号       

                          大括号和分号一般不同时出现

           4、作用域

                          所有变量的定义只在它所属的大括号内有效

18switch语句

        1、用途

                一般用于几个常量的判断,并且对于几个常量的判断switch的效率高于if

                  因为switch会把几个常量值直接加载到内存,在判断的时候效率要比if

                  所以,针对几个常量的判断,一般选择switch语句
         

        2、switch语句的格式

                  switch(表达式)

                  {

                          case 1:

                                   语句体1;

                                   break;

                          case 2:

                                   语句体2;

                                   break;

                          。。

 

                          default:

                                   语句体n;

                                   break;

                    }

                A 针对格式的解释

                     1Switch表示这里使用的是switch语句,后面跟的是选项

                             表达式:byte,short,int,char

                             JDK5以后可以是枚举

                             Jdk7以后可以是字符串

                     2case表示的这里就是选项的值

                          他后面的值将来和表达式里的值匹配

                             case后面的值是不能够重复的

                      3、break:

                              switch语句执行到这里就结束了

                      4default

                              当所有的case和表达式都不匹配的时候,就走default的内容

                              它相当于if语句的else.一般不建议省略

                执行流程

                           首先拿表达式中的值与case后面的值匹配,

                           如果有就执行对应的case里面的内容,直到遇到breakswitch语句被执行完毕才会停止

                           如果没有匹配项,但是有default,就会执行default里面的内容,直到遇到breakswitch语句被执行完毕才会停止

                注意事项

                          A、defult整体可以省略吗

                              可以,但是不建议

                          B、default的位置可以放到前面吗?

                              可以,但是不建议

                          C、break可以省略吗

                              可以,但是不建议

                             default在最后,break是可以省略的

                             case后面的break可以省略,但是结果可能有问题

                          D、switch语句什么时候结束

                              遇到break或者执行到switch语句的末尾

19、if 和 switch对比

         1、如果条件比较复杂,并且伴有表达式运算时用if

                  如果条件已经确定,并且比较简单的逻辑用switch

         2if常见于对范围判断或变量判断,还有就是boolean判断

                  switch常见于对值的判断

20、条件运算符和if语句第二种格式替换

       在某些情况下条件运算符可以和if语句第二种格式相互替换 : 在给变量赋值的情况下可以替换 
       条件运算符可以看作if语句第二种格式的简写,既然是简写就会有弊端:
               1、条件运算符是运算符,所以必须有结果,但是if语句是流程控制语句,可以直接输出一些内容
               2、条件运算符的执行效率比if语句第二种格式低,这个了解就好

21Scanner的使用

         1、概述

                Scanner JDK5以后设计的用来接收键盘录入数据使用的

         2、使用步骤

                目前我们要通过键盘录入int类型数据,必须按照如下步骤

                  导包

                         import java.util.Scanner;

                  创建对象,封装键盘录入

                          Scanner sc = new Scanner(System.in);

                  调用方法,获取数据

                         int number = sc.nextInt();

0 0