第二章 Java语言基础

来源:互联网 发布:电力系统分析课本知乎 编辑:程序博客网 时间:2024/05/29 04:46

基本语法

编写Java程序时,应注意以下几点:

  1. 大小写敏感: Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。

  2. 类名: 对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。

  3. 方法名: 所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。

  4. 源文件名: 源文件名必须和类名相同。当保存文件的时候,应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。

  5. 主方法入口: 所有的Java 程序由public static void main(String []args)方法开始执行。

标识符

和C++中的概念一样,这里不再赘述。

Java命名规则

  • 类 class: 采用完整的英文描述符,所有单词的第一个字母大写(一些专有的缩写词,比如:AWTException等则除外)。Class的名字建议使用名词或者名词短语。 例如:Customer, SavingsAccount,LayoutManager等

  • 类变量 字段: 采用完整的英文描述,第一个字母小写,任何中间单词的首字母大写。 firstName, lastName

  • 静态常量字段(static final) :全部采用大写字母,单词之间用下划线分隔。 MIN_BALANCE, DEFAULT_DATE

  • 成员函数: 被访问字段名的前面加上前缀 get。
    getFirstName(), getLastName()。
    布尔型的获取成员函数所有的布尔型获取函数必须用单词 is 做前缀。
    isPersistent(), isString() ;
    设置成员函数 被访问字段名的前面加上前缀 set。
    setFirstName(), setLastName(),setWarpSpeed()

关键字

abstract   抽象方法,抽象类的修饰符assert     断言条件是否满足boolean    布尔数据类型break      跳出循环或者label代码段byte       8-bit 有符号数据类型case       switch语句的一个条件catchtry搭配扑捉异常信息char       16-bit Unicode字符数据类型class      定义类const      未使用continue   不执行循环体剩余部分default    switch语句中的默认分支do         循环语句,循环体至少会执行一次double     64-bit双精度浮点数else       if条件不成立时执行的分支enum       枚举类型extends    表示一个类是另一个类的子类final      表示一个值在初始化之后就不能再改变了表示方法不能被重写,           或者一个类不能有子类finally    为了完成执行的代码而设计的,主要是为了程序的健壮性和完整性,             无论有没有异常发生都执行代码。float      32-bit单精度浮点数for        for循环语句goto       未使用if         条件语句implements 表示一个类实现了接口import     导入类instanceof 测试一个对象是否是某个类的实例int        32位整型数interface  接口,一种抽象的类型,仅有方法和常量的定义long       64位整型数native     表示方法用非java代码实现new        分配新的类实例package    一系列相关类组成一个包private    表示私有字段,或者方法等,只能从类内部访问protected  表示字段只能通过类或者其子类访问子类或者在同一个包内的其他类public     表示共有属性或者方法return     方法返回值short      16位数字static     表示在类级别定义,所有实例共享的strictfp   浮点数比较使用严格的规则super      表示基类switch     选择语句synchronized    表示同一时间只能由一个线程访问的代码块this       表示调用当前实例或者调用另一个构造函数throw      抛出异常throws     定义方法可能抛出的异常transient  修饰不要序列化的字段try        表示代码块要做异常处理或者和finally配合表示是否抛出异常都执行           finally中的代码void       标记方法不返回任何值volatile   标记字段可能会被多个线程同时访问,而不做同步while      while循环

分隔符

分号“;”用来分隔不同的Java语句
空白分隔符,比如:空格符、Tab跳格键、换行符
点号“.”将Java包的名字与它的子包或类分隔,也可以将引用变量与变量或者方法分隔

注释

类似于C/C++,Java也支持单行以及多行注释。注释中的字符将被Java编译器忽略。

public class HelloWorld {   /* 这是第一个Java程序    *它将打印Hello World    * 这是一个多行注释的示例    */    public static void main(String []args){       // 这是单行注释的示例       /* 这个也是单行注释的示例 */       System.out.println("Hello World");     }} 

基本数据类型

和C/C++一致,这里不再赘述

注意:
Java中的浮点型字面量默认是双精度型
float a=3.4F; ( ‘F’ 不能丢:float a=3.4; × )
正确用法:double a=3.4; √

字面量&&final变量

  1. 字面量和C/C++一致,不再赘述;
  2. 常量是在程序运行时,不会被修改的量。
    在 Java 中使用 final 关键字来修饰常量,声明方式和变量类似:

例如:final double PI = 3.1415927;

数据输出格式的控制

  • 方法1:String.format(“格式串”,数值数据)
  • 方法2:System.out.printf(“格式串”,数值数据)

实例:

int n1=100;double d1=123.456;System.out.println(String.format("%-5d,%.2f", n1,d1));System.out.printf("%05d,%.2f\n", n1,d1);

控制台的输入输出

这里写图片描述

boolean类型:

boolean有两个文字值,即true和false(小写)。

注意: 数字值不能自动转换为boolean 。

例如:    int  flag = 1;    if ( flag )       //Java Error! but C/C++ Correct    if (flag !=0)  // OK,显示写出条件    boolean flag = true;    if( flag )  //OK,条件使用布尔值

char类型:

一个char代表一个16bit无符号的Unicode字符。
一般用法:char ch1=’a’, ch2=’\n’;

Unicode写法:
char ch=’\u0041’; → 字母“A”

字符检测方法:

已知 char ch='a';Character.isLetter(ch) -- ch是否是字母Character.isDigit(ch)  -- ch是否是数字Character.isLetterOrDigit(ch) -- ch是否是字母或数字Character.isWhitespace(ch) -- ch是否是空格Character.isLowerCase(ch) -- ch是否是小写字母Character.isUpperCase(ch) -- ch是否是大写字母

变量初始化

任何变量都必须经初始化后才能被使用。
这里写图片描述

String类型

这里写图片描述

实例:

int  a = 1,  b=2;String str = "hello";System.out.println(str+a+b);System.out.println(a+b+str);

以上输出结果:

hello12
3hello

String类常用方法

这里写图片描述
这里写图片描述
这里写图片描述

注意equals和==

这里写图片描述

字符类型转换

这里写图片描述
这里写图片描述
这里写图片描述

实例:

public class test {    public static void main(String args[ ]) {         String s1=new String("you are a student");        String s2=new String("how are you");         if (s1.equals(s2)) {  // 判断s1与s2是否相同         System.out.println("s1与s2相同");         }         else {        System.out.println("s1与s2不相同");         }         String s3=new String("22030219851022024");         if (s1.startsWith(“220302”)) {    // 判断s3的前缀是否是“220302”         System.out.println("吉林省的身份证");         }         String s4=new String("cat");         String s5=new String("dog");         if(s4.compareTo(s5)) {    // 按字典序比较s4、s5           System.out.println("按字典序s4>=s5");          }         else {           System.out.println("按字典序s4<s5");         }       int position=0;        String path="c:\\java\\jsp\\A.java";        //获取path中最后出现目录分隔符号的位置        position=path.lastIndexOf(“\\”);       System.out.println("c:\\java\\jsp\\A.java中最后出现\\的位置:"+ position);     String fileName=path.substring(position+1, path.length()); // 获取path中“A.java”子字符串     System.out.println("c:\\java\\jsp\\A.java中含有的文件名:"+ fileName);     String s6=new String("100");     String s7=new String("123.678");     int n1=Integer.parseInt(s6);   // 将s6转化成int型数据     double n2=Double.parseInt(s7);  // 将s7转化成double型数据     double n=n1+n2;     System.out.println(String.format("%.2f", n)));  // 输出n, 保留2位小数    String s8=new String("ABCDEF");          System.out.println(s8.toLowerCase()); // 将s8转化为小写输出    System.out.println(s8.charAt(s8.length()-1)); // 输出s8的最后一个字符    } //end main} //end class

foreach

这里写图片描述
这里写图片描述

0 0
原创粉丝点击