java的注意事项

初学Java的一些注意事项

HelloWorld案例常见问题

A:找不到文件

             a:文件扩展名隐藏导致编译失败

             b:文件名写错了

B:单词拼写问题

a:class写成Class

             b:String写成string

             c:System写成system

             d:main写成mian

C:括号匹配问题

             a:把类体的那对大括号弄掉一个

             b:把方法体的那对大括号弄掉一个

             c:把输出语句的那对小括号弄掉一个

D:中英文问题

             a:提示信息:错误: 非法字符: \????的格式

             注意:java编程中需要的基本上都是英文字符

Java语言基础(Java语言的书写格式(约定俗成))

1,大括号要对齐,并且成对写

2,左大括号前面有空格

3,遇到左大括号要缩进,Tab

4,方法和程序块之间加空行让程序看起来清晰

5,并排语句之间加空行,例如for语句

6,运算符两侧加空格

关键字的注意事项

        goto和const作为保留字存在,目前并不使用,类似Editplus这样的高级记事本,针对关键字有特殊的颜色标记。

标识符注意事项

             1,不能使用关键字

             2,不能数字开头

             3,区分大小写

标识符命名规则

见名知意

  • A:包

              * 一般是公司域名倒过来,要求所有的字母小写
    
              * www.zuikc.com
    
              * com.zuikc.包名
    
  • B:类或者接口

              * 如果是一个单词首字母大写
    
              * 如果是多个单词,要求每个单词首字母大写(驼峰标识) MyRunnable MyThead
    
  • C:方法或者变量

              * 如果是一个单词,每个字母都小写
    
              * 如果是多个单词,从第二个单词首字母大写 
    
              * getName setName
    
  • D:常量

              * 如果是一个单词,所有字母大写
    
              * 如果是多个单词,所有的单词大写,且用下划线区分每个单词
    
              * JAVA_HOME  MAX MAX_VALUE
    

原码反码:

  • 反码
    * 正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

例如:1111 1111 1111 1111 的反码是1000 0000 0000 0000
* 补码
* 正数的补码与其原码相同;负数的补码是在其反码的末位加1。

算术运算符的注意事项:

            * a:+号在java中有三种作用,代表正号,做加法运算,字符串的连接符

            * b:整数相除只能得到整数。如果想得到小数,必须把其中一个数据变化为浮点数类型,另一个数自动类型提升(取值范围小的类型自动向范围大的类型提升)

关系运算符的注意事项:

            无论操作简单还是复杂 ,关系运算符算出的结果都是Boolean类型

“==”不能写成”=”

逻辑运算符的注意事项:

逻辑运算符一般用于连接boolean类型的表达式或者值。

选择结构if语句的注意事项

            if (;;)后面没有分号 而是左大括号{

            只有if后面可以接比较表达式,else后面不可以。

            最后一个else可以省略,但是建议不要省略,可以对范围外的错误值提示。

选择结构switch语句的注意事项:

            case 为具体值,常量。不可以写比较表达式。

            不写break会造成case穿透。

循环结构注意事项之死循环

  • A:一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。

  • B:两种最简单的死循环格式

              * while(true){...}
    
              * for(;;){...}
    

关于数组的注意事项

            * a:以下格式也可以表示二维数组

                            * 1:数据类型 数组名[][] = new 数据类型[m][n];

                            * 2:数据类型[] 数组名[] = new 数据类型[m][n];

            * B:注意下面定义的区别

            *

                                            int x;

                                            int y;

                                            int x,y;

                                           

                                            int[] x;

                                            int[] y[];

                                           

                                            int[] x,y[];            x是一维数组,y是二维数组 (拆开看 int[] 和int [] y [])

类的注意事项:

            * 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则(why可以同名?)。

            * 基本数据类型变量包括:byte,short,int,long,float,double,boolean,char

            * 引用数据类型变量包括:数组,类,接口,枚举

构造方法注意事项:

构造方法没有返回值类型,连void都没有,也没有具体的返回值return。

如果我们没有给出构造方法,系统将自动提供一个无参构造方法。

如果我们给出了构造方法,系统将不再提供默认的无参构造方法。

注意:这个时候,如果我们还想使用无参构造方法,就必须自己手动给出。建议永远自己给出无参构造方法

static的注意事项

            * a:在静态方法中是没有this关键字的

                            * 如何理解呢?

                                            * 静态是随着类的加载而加载,this是随着对象的创建而存在。

                                            * 静态比对象先存在。

            * b:静态方法只能访问静态的成员变量和静态的成员方法

                            * 静态方法访问的:

                                            * 如果是成员变量:只能访问静态变量

                                            * 如果是成员方法:只能访问静态成员方法

                            * 非静态方法访问的:

                                            * 成员变量:可以是静态的,也可以是非静态的

                                            * 成员方法:可是是静态的成员方法,也可以是非静态的成员方法。

                            * 简单记:

                                            * 静态只能访问静态

静态变量和成员变量的区别:

静态变量也叫类变量 成员变量也叫对象变量

  • A:所属不同

              * 静态变量属于类,所以也称为为类变量
    
              * 成员变量属于对象,所以也称为实例变量(对象变量)
    
  • B:内存中位置不同

              * 静态变量存储于方法区的静态区
    
              * 成员变量存储于堆内存
    
  • C:内存出现时间不同

              * 静态变量随着类的加载而加载,随着类的消失而消失
    
              * 成员变量随着对象的创建而存在,随着对象的消失而消失
    
  • D:调用不同

              * 静态变量可以通过类名调用,也可以通过对象调用
    
              * 成员变量只能通过对象名调用
    
posted @ 2020-04-21 15:25  黄小七  阅读(183)  评论(0编辑  收藏  举报