您的位置:首页 > 编程语言 > Java开发

1)Java语法基础知识点(可以借鉴)

2017-09-26 20:55 281 查看

1:快捷键和DOS命令的练习。

   桌面空白-->按住Shift -->点击鼠标右键打开命令窗口(控制台).

   也可以  window键+r(同时按住)-->输入 cmd --> 打开 -->出现控制台

    进入d盘: d:

    创建目录: md 文件夹名称

    删除目录: rd 文件夹名称   --->只能删除空目录

    进入下一级目录: cd 文件夹名称

    回退上一级目录: cd.. 文件夹名称

    回退根目录: cd/ 

    清屏命令: ds:cleaer scrren

2: 下载JDK

 

      打开JDK安装包 --->点击安装 --> C盘换成 D盘-->  创建文件夹java -->点击下一步 --> 取消安装JRE(可安装可不安装)--->完成--->运行

3:独立编写Hello World程序。

     打开控制台

  C:\Users\Administrator\Desktop>d:       

  D:\>cd D:\java\bin

  D:\java\bin>javac HelloWorld.java

  D:\java\bin>

   

   class的作用

    System.out.println(      );  

    main函数的作用

   public static void main(String[] args) {

   }

   输出语句的作用:

   输出到终端,输出到文件.

 

4:Java源文件的后缀是什么?编译java源文件的命令是什么?

                                  .java                                    javac  (   ).java__________

5:几个小问题?

A:JDK,JRE,JVM分别是什么?
B:Java语言是跨平台的吗?JVM是跨平台的吗?
C:环境变量path和classpath的区别?

 A: JDK就是java开发工具包,JRE是指java运行环境,JVM是java虚拟机.

 B:Java语言是跨平台;JVM不是跨平台的,如果跨平台的,那么只需要一个jvm就可以在不同的操作系统上运行java应用程序.

 C:区别:path环境变量里面记录的是可执行性文件,如.exe文件,对可执行文件先在当前路径去找,如果没找到就去path环境变量中配置的路径去找

        

classpath环境变量里记录的是java类的运行文件所在的目录   

6:什么是注释?注释分为几种?注释有什么作用?

   用于解释说明文字的程序

  分别为: 1)单行注释 // 注释文字  2)  多行注释  /*   注释文字  */ 3) 文档注释  /** 注释文字   */

   作用:  生成文档  跟踪代码依赖性  在编译时进行格式检查 

例如:

把HelloWorld案例加入注释写出来

需求:

写一个程序,在控制台输出HelloWorld

 分析:

写一个java程序,首先定义类。

 

程序要想能够被jvm调用,

 必须定义main方法。

 

程序要想有输出结果,必须用输出语句。

实现:

 定义类用的是class关键字,

 后面跟的是类名

main方法基本格式

 输出语句基本格式

7:什么是关键字?有什么特点?

    是被java语言赋予特定含义的单词   特点:组成关键字的字母全部小写

8:什么是标识符?由哪些部分组成?常见的命名规则有哪些?

   标识符:就是给类.接口.方法.变量等起名字时使用的字符例.

   标识符只能由字母、数字和下划线3种字符组成,

   常见的命名规则:

       1)包(其实就是文件夹,用于解决相同类名问题)

单级和多级分别举例

       

2)类或者接口

一个单词和和多个单词分别举例

       3)方法和变量

一个单词和和多个单词分别举例

       4)常量

一个单词和和多个单词分别举例

9:什么是常量?常量的分类?字面值常量表现形式有哪些? 

    常量:在程序执行的过程中其值不可以发生改变

    分类 1)字面值常量 

     

     字符串常量        用双引号括起来的内容

       

整数常量 所有整数

12,23

       小数常量 所有小数

12.34,56.78

       字符常量 用单引号括起来的内容

‘a’,’A’,’0’

       布尔常量 较为特有,只有true和false

         空常量 null(数组部分讲解)

         2)自定义常量

 10:计算出十进制46对应的二进制,八进制,十六进制的值。

至于进制的内容今天在练习一次,以后就可以不用练习了。

后面能听懂就OK了。不用浪费太多时间。

(可用计算器验证你算的是否正确)

     46 对应二进制: 0b101110 八进制:56  十六进制:

11:什么是变量?变量的定义格式?要使用变量需要注意什么?

      在程序执行的过程中其值可以发生改变.

      定义格式---数据类型  变量名=初始化值

              ---格式是固定的

       注意:作用域

                变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。

           初始化值

                没有初始化值不能直接使用

           在一行上建议只定义一个变量

12:Java中的数据类型分几类?基本数据类型有哪些?

      基本数据类型   引用数据类型  

         1)整数类型   byte                                                    1 (占用的字节数)   -128到127(范围)

        //
int i = 10000 ;
System.out.println(i);
System.out.println("-------------------------");

          System.out.println(b)  

         2)字节类型   int                                                     2

       //
byte b = 100 ;
b = 120;
System.out.println(b);

         3)短整型     short                                                   4  

          //  
short s = 200 ;
System.out.println(s);

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

         4)长整类型  long                                                     8

            //

             long l = 100000000000000L;
System.out.println(l);

         5)浮点类型   float   double 

             //                                         4

                  double d = 12.56 ;
System.out.println(d);

            //

                float f = 12.34;//默认double,                                 8
float f = 12.34f;
System.out.println(f);
                                                        

         6)字符类型   char                                                    2

             // char ch = 'a' ;

  char ch2 = 'A' ;
System.out.println("ch:"+ch+",ch2:"+ch2);                                        

         7)布尔类型  boolean                                                  1  

           //

                boolean flag = true ;//flag:旗帜标记
boolean b2 = false;
System.out.println(flag);

 13:(可以自己做做)数据类型转换:

                                    隐式转换:
                                    强制转换:

面试题:
第一题:
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句是编译失败的呢?为什么呢?

      

第二题:
byte  by = 130;有没有问题?有问题如何解决?结果是多少呢?

14:常见的算术运算符有哪些? 

     +(正号),-(负号),+(加),-(减),/(除号),%(取模),*(乘),++(自增),--(自减),+(字符串相加)

  +运算符的作用有哪些?

       用来相加的

   

  除法和取余的区别?

      一个返回商,一个返回余数  

   

  ++和--的使用规则?

       1)单独使用

           不管++或者--在数据的前面,或者在数据的后面,嘛呢都是自增1或者自减1;

       2)参与运算使用

          ++或者--在数据的面前,先自增1或者自减1,然后把计算机的额结果再运算;

          ++或者--在数据的后面,县运算,在进行自增1或者自减1;

15:常见的赋值运算符有哪些?

      +=,-=,*=,/=,%=,    (不能=写成==)(=为基本的赋值运算符,其他的为扩展运算符)

  +=运算的作用是什么?

     把左边的数据和右边的数据,把赋值给左边变量.

  扩展的赋值运算符有什么特点?

     会对右边的数据进行一个强制转换,使对应左边的数据相匹配.

      

16:short s = 1; s = s + 1;有没有问题?如果有怎么解决?

   short s = 1; s += 1;有没有问题?如果有怎么解决?

  第一个问题:

         s =s +1;

         默认提升 byt,short,char-->int-->long-->float-->double:

         s-->int类型:s+1:属于int类型;

         用短整型接受int类型的值:有问题!必须强制类型转换

          

  第二个代码:s +=1;扩展的赋值运算符,隐藏了一个强制类型转换,所以不会出错

public class OperatorDemo2 {

    public static void main(String[] args) {
     

    // short s =1;

  //   //必须强制类型转换

//     s = (short)(s+ 1);

   

    short  s =1;

    s+=1;//隐藏一个强制类型转换 s =(short)(s+1);

    System.out.println(s);

     
}

}

17:常见的关系运算符有哪些?  

     ==(相等于),!=(不等于),<(小于),>(大于),<=(小于等于),>=(大于等于),instanceof(检查是否是类的对象)

            (不能把==写成=)

   关系运算符的结果有什么特点?

      结果都是boolean型,要么是false,要么就是true.

     

18:常见的逻辑运算符有哪些?

         &(逻辑单与),&&(双与),^(逻辑异或),!(非),丨(逻辑单或),丨丨(双或).

 

  &和&&的区别是什么?

     单&时,左边无论真假,右边都进行运算;

     

双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算

  |和||的区别是什么?

  双或时,左边为真,右边不参与运算。

  

19:位运算符^的特点是什么?

    一个数据被另一个数据位异或两次,那么结果是该值本身

  

20:如何实现对两个整数变量的值进行互换。

public class OperatorDemo3 {
public static void main(String[] args){
//有两个变量
int a = 10 ;
int b = 20 ;

//结论:a =20 ,b =10

//交换前
System.out.println("a:"+a);
System.out.println("b:"+b);

//实际开发中:使用第三方变量来进行交换:
//方式1:

// int temp = a ;

// a = b ;

// b = temp ;
//交换后

//方式2:位^的特点::
//面试的时候使用这种方式
//等号左边:a,b,a
//等 号右边:a^b

// a = a ^ b ;//a = a ^ b

// b = a ^ b ;//b = a ^ b ^ b ;

// a = a ^ b ;//a = a ^ b ^ a ;

//方式3:
a = a + b ;//a = a + b = 30 ;
b = a - b ;//b = 30 -20 ;
a = a - b ;// a = 30 - 10 ;
System.out.println("a:"+a);
System.out.println("b:"+b);
}

}

21:三元运算符的格式是什么?

 (关系表达式)?表达式1:表达式2;

如果条件为true,运算后的结果是表达式1;

如果条件为false,运算后的结果是表达式2;`

  执行流程是什么?

  表达式如果成立,那么执行true的结构,否则就是false.

  

22:使用三元运算符完成如下练习

比较两个数是否相等

public class OperatorDemo {

    public static void main(String[] args) {

           int a = 100;

           int b= 200;

   //  boolean flag =(a==b)?true:false;

// 

    boolean flag =(a==b);

     System.out.println(flag);

    }

}

   
获取两个数中最大值

public class OperatorDemo {

       public static void main(String[] args) {

     //定义两个变量

     int a = 20;

     int b = 30;

     //定义一个变量

      int max =(a < b )? b: a;

      System.out.println("max:"+max);

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

获取三个数中最大值

public class OperatorDemo {

public class OperatorDemo2 {

    public static void main(String[] args) {

    // 定义三个变量

       int a=10;

       int b=30;

       int c=20;

   //方式

       int temp=(a > b)? a :b;

       //定义这个最大变量值

       int max=(temp > c)? temp :c;

       System.out.println("三个数据最大值:"+max);

    }

}

23:流程控制语句有几种?

   顺序结构语句   选择结构语句   循环结构语句

24:if语句的格式有几种?注意事项是什么?分别在什么时候使用?

    格式1:

  if(表达式){

  语句;

  }

 

  执行流程:如果表达式成立,那么执行语句;否则,不执行

      格式1中的注意事项:

  1)如果if语句中只有单条语句,那么{}可以省略,但是不建议省略

  2)有左大括号的地方不能有分号,有分号的地方不能有左大括号

  3)if(表达式){} 这里面的表达式不管是简单的还是复杂的,都是boolean类型

  4)if语句中的表达式:求数据是否相等:不能==写成=

f语句的中格式2:

  if(表达式){

  语句1;

  }else{

  语句2;

  }

  

  执行流程:首先判断表达式是否成立,如果成立,则执行语句1,否则执行语句2;

  

if语句的第三中格式:

  if(表达式1){

  语句1;

  }else if(表达式2){

  语句2;
}else if(表达式3){

  语句3;

  }

  ....

  ....

  else{

  语句n+1;

  }

  

  执行流程:先判断表达式1是否成立:如果成立,执行语句1,if语句结束;

    如果表达式1不成立,还需要判断表达式2是否成立,如果成立,if语句结束

    最终如果上述的表达式都不成立,执行else里面的语句
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: