第二章JAVA语言基础

目录

2.1 代码注释与编码规范

2.1.1代码注释

1.单行注释“//”为单行注释标记,从符号“//”开始直到换行为止的所有内容均作为注释而被编译器忽略。语法如下://注释内容例如,以下代码为声明的int型变量添加注释:int age; //声明int 型变量用于保存年龄信息2. 多行注释“/**/”为多行注释标记,符号“/*”与“*/”之间的所有内容均为注释内容。

3. 文档注释“/**/”为文档注释标记。符号“/”与“*/”之间的内容均为文档注释内容。当文档注释出现在声明(如类的声明、类的成员变量的声明、类的成员方法声明等)之前时,会被Javadoc 文档工具读取作为Javadoc文档内容。文档注释的格式与多行注释的格式相同。对于初学者而言,文档注释并不重要,了解即可。

2.2变量与常量

2.2.2  变量

2.2.3   常量

例 2.1 声明double型常量,并给常量赋值,使用常量进行计算。

 2.3基本数据类型

例如,声明int型变量,代码如下:int x //声明int型变量xint x,y; //同时声明int 型变量x,yint x=10,y= -5;//同时声明int型变量x,y并赋予初值int x = 5+23; //声明int 型变量x,并赋予公式(5+23)计算结果的初值int型变量在内存中占4字节,也就是32位bit,在计算机中bit是用0和1来表示的,所以int 5在计算机中这样显示:00000000 00000000 00000000 00000101上面这段代码在Java运行时,等同于下面这段代码:

例2.2给int型变量按照十进制、八进制、十六进制赋值

 例2.3 展示4.35*100的错误结果,并给出解决方案。

 例2.4计算2.0-1.9的结果

2.3字符类型

 例2.5使用转义字符

例2.6声明boolean型变量

 2.4数据类型转换

2.4.1  隐式转换

例 2.7创建不同数值类型的变量,进行隐式转换。

2.2.4   显式转换

例 2.8创建不同数值类型进行隐式转换。

​2.5运算符

2.5  运算符

2.5.1  赋值运算符

例 2.9 使用赋值运算符为变量赋值,实例代码如下

 例2.10使用算术运算符将变量的计算结果输出

 例 2.11 在循环中使用自增运算符,查看自增的效果

 例 2.12 使用关系运算符对变量进行比较运算。

2.5.5 逻辑运算符假定某面包店,在每周二的下午7点至8点和每周六的下午5点至6点,对生日蛋糕商品进行折扣让利活动,那么想参加折扣活动的顾客,就要在时间上满足这样的条件,周二并且7:00PM-8:00PM或者周六并且5:00 PM~6:00PM,这里就用到了逻辑关系。逻辑运算符是对真和假这两种逻辑值进行运算,运算后的结果仍是一个逻辑值。逻辑运算符包括&&(逻辑与)、Ⅱ(逻辑或)、!(逻辑非)。逻辑运算符计算的值必须是boolean型数据。在逻辑运算符中,除了“!”是单目运算符之外,其他都是双目运算符。Java中的逻辑运算符如表2.7

例2.13使用逻辑运算符和关系运算符对变量进行运算。

2.5.6位运算符

例2.14使用位逻辑运算符进行运算

2、位移运算符 

 例2.15使用位移运算符对变量进行位移运算

2.5.7  复合赋值运算符

例2.16让byte,short两种类型的变量做无符号右移操作

2.5.8  三元运算符

2.5.9  圆括号

2.5.10  运算符优先级

 这章小 结

本章向读者介绍的是Java语言基础,程序代码中适当地添加注释可以提高程序的可读性和可维护性,其中需要重点掌握的是Java语言的基本数据类型、变量与常量以及运算符三大知识点。初学者经常将string类型认为是Java语言的基本数据类型,在此提醒读者Java语言的基本数据类型中并没有string类型。另外,要对数据类型之间的转换有一定的了解。在使用变量时,需要读者注意的是变量的有效范围,否则在使用时会出现编译错误或浪费内存资源。此外,Java中的各种运算符也是Java基础中的重点。

2.1 代码注释与编码规范

在程序代码中适当地添加注释可以提高程序的可读性和可维护性。好的编码规范可以使程序更易阅读和理解。本节将介绍Java中的几种代码注释以及应该注意的编码规范。

2.1.1代码注释

通过在程序代码中添加注释可提高程序的可读性。注释中包含了程序的信息,可以帮助程序员更好地阅读和理解程序。在Java源程序文件的任意位置都可添加注释语句。注释中的文字Java编译器不进行编译,所有代码中的注释文字对程序不产生任何影响。所以我们不仅可以在注释中写程序代码的解释说明、设计者的个人信息,也可以使用注释来屏蔽某些不希望执行的代码。Java语言提供了3种添加注释的方法,分别为单行注释、多行注释和文档注释。


1.单行注释
“//”为单行注释标记,从符号“//”开始直到换行为止的所有内容均作为注释而被编译器忽略。语法如下:
//注释内容
例如,以下代码为声明的int型变量添加注释:
int age; //声明int 型变量用于保存年龄信息
2. 多行注释
“/**/”为多行注释标记,符号“/*”与“*/”之间的所有内容均为注释内容。
3. 文档注释
“/**/”为文档注释标记。符号“/”与“*/”之间的内容均为文档注释内容。当文档注释出现在声明(如类的声明、类的成员变量的声明、类的成员方法声明等)之前时,会被Javadoc 文档工具读取作为Javadoc文档内容。文档注释的格式与多行注释的格式相同。对于初学者而言,文档注释并不重要,了解即可。
2.2变量与常量
2.2.1标识符与关键字
1.标识符

标识符可以简单地理解为一个名字,用来标识类名、变量名、方法名、数组名等有数然序列。
Java语言规定标识符由任意顺序的字母、下划线(_)、美元符号($)和数字组成,并助个字符不能是数字。标识符不能是Java中的保留关键字。

下面的标识符都是合法的:
time
akb48
interface
O 0
BMW
$$$

编写Java代码有一套公认的命名规范,如下。
  (1)类名:通常使用名词,第一个单词字母必须大写,后续单词首字母大写。
  (2)方法名:通常使用动词,第一个单词首字母小写,后续单词首字母大写。
  (3)变量:第一个单词首字母小写,后续单词首字母大写。
  (4)常量:所有字母均大写。
  (5)单词的拼接:通常使用"userLastName"方式拼接单词,而不是"user_last_name"
2.关键字
  关键字是Java语言中已经被赋予特定意义的一些单词,不可以把这些字作为标识符来使用。简
单理解为凡是在Eclipse变成红色粗体的单词,都是关键字。

Java关键字

2.2.2  变量
  (1)变量名必须是一个有效标识符。

  (2)变量名不可以使用java 中的关键字。

  (3)变量名不能重复。

  (4)应选择有意义的单词作为变量名。

2.2.3   常量
  过程中一直不会改变的量称为常量,通常也被称为“final变量”。常量在整个程序中只能被赋值一次。在为所有的对象共享值时,常量是非常有用的。常量名通常使用大写字母,但这并不是必须的。很多Java程序员使用大写字母表示常量,是为了清楚地表明正在使用常量。

例2.1 声明double 型常量,并给常量赋值,使用常量进行计算。

例 2.1 声明double型常量,并给常量赋值,使用常量进行计算。
public class Const {
    public static void main(String[] args) {
        final double PI =3.14; //声明常量 PI    
        System.out.println("常量PI的值为:"+PI);
        System.out.println("半径为3的圆的周长为:"+(PI*2*3));
        System.out.println("半径为4的圆的面积为:"+(PI*4*4));
    }
 
}


 2.3基本数据类型


例如,声明int型变量,代码如下:
int x //声明int型变量x
int x,y; //同时声明int 型变量x,y
int x=10,y= -5;//同时声明int型变量x,y并赋予初值
int x = 5+23; //声明int 型变量x,并赋予公式(5+23)计算结果的初值
int型变量在内存中占4字节,也就是32位bit,在计算机中bit是用0和1来表示的,所以int 5在计算机中这样显示:
00000000 00000000 00000000 00000101
上面这段代码在Java运行时,等同于下面这段代码:
 
int a = 15;
int b = 20;
int c = a+b;
System.out.println(c); //输出 35
例2.2给int型变量按照十进制、八进制、十六进制赋值
public class Radix {
    public static void main(String[] args) {
    int a=11;            //十进制整型
    System.out.println(a);//输出十进制表示的整型值
    int b=011;           //八进制整型
    System.out.println(b);//输出八进制表示的整型值
    int c=0x11;           //十六进制整型
    System.out.println(c);//输出十六进制表示的整型值
 
    }
 
}


 例2.3 展示4.35*100的错误结果,并给出解决方案。
public class Doudle {
    public static void main(String[] args) {
        double a=4.35*100; //用double计算4.35*100的结果
        System.out.println("a="+ a);//输出这个double值
        int b= (int) a;//将double类型强制转换成int 类型
        System.out.println("b="+b);//输出int 值
        System.out.println("a的四舍五入值="+Math.round(a));
 
    }
 
}


 例2.4计算2.0-1.9的结果
public class DoubleUNAcc2 {
     public static void main(String[] args){
         double a=0.1;
         double b=2.0-1.9;
       System.out.println("a="+a);
       System.out.println("b="+b);
       System.out.println("a==b的结果:"+(a==b));//a==b的结果是false
/*Math.abs()是取绝对值的方法,1e-6表示1+10的-6次方,是计算机中最小数的概念
*如果两数之差的绝对值小于最小数,则认为这两个数是相等的。
*/
       boolean bool =Math.abs(a-b)<(1e-6);
       System.out.println("两数之差绝对值小于最下数的结果:"+bool);
   }
}
 

2.3字符类型
转义字符

 例2.5使用转义字符
public class EscapeCharacter {
    public static void main(String[] args) {
        char c1='\\';//反斜杠转义字符
        char c2='\'';//单引号转义字符
        char c3='\"';//双引号转义字符
        char c4='\u2605';//051 16进制表示的字符
        char c5='\101';//8进制表示字符
        char c6='\n';//制表符转义字符
        char c7='\t';//换行符转义字符
         System.out.println("[" + c1 + "]");
         System.out.println("[" + c2 + "]");
         System.out.println("[" + c3 + "]");
         System.out.println("[" + c4 + "]");
         System.out.println("[" + c5 + "]");
         System.out.println("[" + c6 + "]");
         System.out.println("[" + c7 + "]");
    }
}


布尔类型

例2.6声明boolean型变量
public class Boolean {
    public static void main(String[] args) {
     boolean b;//声明布尔型变量
     boolean b1,b2;//声明布尔型变量b1.b2
     boolean ture = false;声明布尔型变量b1赋给初值ture,b2赋给初值false,
     boolean b3=ture, b4=false;
     boolean b5= 2<3, b6=(2==4);
     System.out.println("b5的结果是:"+b5);
     System.out.println("b6的结果是:"+b6);
   }
}


 2.4数据类型转换
 2.4  数据转换类型
         类型转换是将一个值从一种类型更改为另一种类型的过程。例如,不仅可以将String类型数据“457”转换为一个数值型,而且可以将任意类型的数据转换为String 类型。
        如果从低精度数据类型向高精度数据类型转换,则永远不会溢出,并且总是成功的:而把高精度数据类型向低精度数据类型转换则必然会有信息丢失,有可能失败。
        数据类型转换有两种方式,即隐式转换与显式转换。

2.4.1  隐式转换
        从低级类型向高级类型的转换,系统将自动执行,程序员无须进行任何操作。这种类型的转换称为隐式转换,也可以称为自动转换。下列基本数据类型会涉及数据转换,不包括逻辑类型。这些类型按精度从“低”到“高”排列的顺序为byte<short < int < long < float < double。

例 2.7创建不同数值类型的变量,进行隐式转换。
public class ImplicitConver {
    public static void main(String[] args) {
        byte mytybe =127;
        int myint =150;//声明int型变量myint,并赋值150
        float myfloat =452.12f;//声明float型变量myfloat,并赋值
        char mychar =10; //声明char型变量mychar,并赋值
        double mydouble =45.46546;//声明double型变量并赋值
        float mybyte=127;
        System.out.println("byte型与float型数据进行运算结果为:"+  (mybyte+myfloat));
        System.out.println("byte型与int型数据进行运算结果为:"+  (mybyte*myint));
        System.out.println("byte型与char型数据进行运算结果为:"+  (mybyte / mychar));
        System.out.println("double型与char型数据进行运算结果为:"+  (mydouble+mychar));
        
    }
 
}


 
2.2.4   显式转换
        当把高精度的变量赋值给低精度的变量时,必须使用显示类型转换运算(又称强制类型转换),当执行显示类型转换时 可能会导致精度损失。

例 2.8创建不同数值类型进行隐式转换。
public class EqualSign {
        public static void main(String[] args) {
            int a = (int)45.23;// double类型强制转int类型
            long b = (long)456.6F;//float类型强long类型
            char c = (char) 97.14;// double 型强制char型                
            System.out.println("45.23强制转换成int的结果:"+a);
            System.out.println("456.6F强制转换成1ong的结果:"+b)    ;    
            System.out.println("97.14强制转换成char的结果"+c);
            }
}        
2.5运算符


2.5  运算符
        运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面。Java中提供了丰富的运算符,如赋值运算符、算术运算符和比较运算符等。 

2.5.1  赋值运算符
        赋值运算符以符号"="表示,它是一个双目运算符 (对两个操作数做处理),其功能是将右边操作数所含的值赋给左边的操作数。

例 2.9 使用赋值运算符为变量赋值,实例代码如下
public class EqualSign1 {
     public static void main(String[] args) {
        int a,b,c=11;
           a=32;
           c=b=a+4;
           System.out.println("a="+a);
           System.out.println("b="+b);
           System.out.println("c="+c);
 }
}
 

 例2.10使用算术运算符将变量的计算结果输出
public class Arit {
    public static void main(String[] args) {
        float num1 = 45.2f;
        int num2 = 120;
        int num3 = 17, num4=10;
        System.out.println("num1+num2的和为:"+(num1+ num2));
        System.out.println("num1-num2的差为:"+(num1- num2));
        System.out.println("num1*num2的积为:"+(num1*num2));
        System.out.println("num1/num2的商为:"+ (num1 / num2));
        System.out.println("num3/num4 的余数为:"+(num3 % num4));
    }
 
}


 例 2.11 在循环中使用自增运算符,查看自增的效果
public class Auto {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a =1; //创建整型变量a,初始值为1
        System.out.println("a="+ a);// 输出此时a的值
        a++;                        // a自增+1
        System.out.println("a++="+ a);//输出此时a的值
        a++;                       // a自增+1
        System.out.println("a++="+ a);//输出此时a的值
        a++;                         // a自增+1
        System.out.println("a++ ="+ a);//输出此时a的值
        a--;                           // a自减-1
        System.out.println("a--="+ a);//输出此时a的值
    }
 
}


关系运算符

 例 2.12 使用关系运算符对变量进行比较运算。
public class Relat {
    public static void main(String[] args) {
        int num1 = 4, num2 =7;
        int num3 = 7;
        System.out.println("num1<num2的结果:"+(num1 < num2));
        System.out.println("num1>num2的结果:"+(num1> num2));
        System.out.println("num1==num2的结果:"+(num1 == num2));
        System.out.println("numl!=num2的结果:"+(num1=num2));
        System.out.println("num1<=num2的结果:"+(num1<= num2));
        System.out.println("num2>=num3的结果:"+(num2 >= num3));    }
 
}


2.5.5 逻辑运算符
假定某面包店,在每周二的下午7点至8点和每周六的下午5点至6点,对生日蛋糕商品进行折扣让利活动,那么想参加折扣活动的顾客,就要在时间上满足这样的条件,周二并且7:00PM-8:00PM或者周六并且5:00 PM~6:00PM,这里就用到了逻辑关系。
逻辑运算符是对真和假这两种逻辑值进行运算,运算后的结果仍是一个逻辑值。逻辑运算符包括&&(逻辑与)、Ⅱ(逻辑或)、!(逻辑非)。逻辑运算符计算的值必须是boolean型数据。在逻辑运算符中,除了“!”是单目运算符之外,其他都是双目运算符。Java中的逻辑运算符如表2.7


 

例2.13使用逻辑运算符和关系运算符对变量进行运算。
public class Logical {
    public static void main(String[] args) {
        int a=2;声明int型变量a
        int b= 5; // 声明int型变量b
        //声明boolean型变量,用于保存应用逻辑运算符“&&”后的返回值
        boolean result=((a>b) &&(a!=b));
    //声明boolean型变量,用于保存应用逻辑运算符“||”后的返回值    
        boolean result2=((a>b) ||(a!=b));
        System.out.println(result); 将变量result输出
        System.out.println(result2); 将变量result2输出
    }
 
}


2.5.6位运算符


1. 逻辑运算符

例2.14使用位逻辑运算符进行运算
public class Logical1 {
    public static void main(String[] args) {
        short x=-123;                                //创建short变量x, 等于123取反的值
            System.out.println("12与8的结果为:"+(12&8));            //位逻辑或计算整数的结果
            System.out.println("4或8的结果为:"+(4|8));            //位逻辑或计算整数的结果
            System.out.println("31异或22:"+(31^22));            //位逻辑异或计算整数的结果
            System.out.println("123取反结果为:"+x);        //位逻辑取反结果计算布尔值的结果
            System.out.println("2>3与4!=7的与结果:"+(2>3&4!=7));//位逻辑与计算布尔值的结果
            System.out.println("2>3与4!=7的或结果:"+(2>3|4!=7));//位逻辑或计算布尔值的结果
            System.out.println("2>3与4!=7的与异或结果:"+(2<3^4!=7));    
                                                   //位逻辑异或计算布尔值的结果
    }
 
}


2、位移运算符 
        位移运算符有三个,分别是左移<<、右移>>和无符号右移>>>,这三个运算符都是双目的 。

 例2.15使用位移运算符对变量进行位移运算
public class Bitwise2 {
    public static void main(String[] args) {
        int a=24;
        System.out.println(a+"右移两位的结果是:"+(a>>2));
        int b=-16;
        System.out.println(b+"右移两位的结果是:"+(b<<3));
        int c=-256;
        System.out.println(c+"无符号右移两位的结果是:"+(c>>>2));
    }
 
}


2.5.7  复合赋值运算符
        和其他主流编程语言一样 ,Java中也有复合赋值运算符。所谓的合赋值运算符,就是将赋值运算符与其他运算符合并成一个运算符来使用,从而同时实现两种运算符的效果。

例2.16让byte,short两种类型的变量做无符号右移操作
public class Bitwise3 {
    public static void main(String[] args) {
        byte a=(byte) (-32>>>1);
        System.out.println("byte无符号右移的结果:"+a);
        short b=(short) (-123>>>4);
        System.out.println("short无符号右移的结果:"+b);
 
    }
 
}


2.5.8  三元运算符
2.5.9  圆括号
        圆括号可以提升公式中计算过程的优先级,在编程中常用。

2.5.10  运算符优先级
        Java中的表达式就是使用运算符连接起来的符合Java过程的式子。运算符的优先级决定了表达式中运算执行的先后顺序。通常优先级由高到低的顺序依次是增量和减量运算、算数运算、比较运算、逻辑运算、赋值运算。
        如果两个运算有相同的优先级,那么左边的表达式要比右边的表达是先被处理 。

 这章小 结

本章向读者介绍的是Java语言基础,程序代码中适当地添加注释可以提高程序的可读性和可维护性,其中需要重点掌握的是Java语言的基本数据类型、变量与常量以及运算符三大知识点。初学者经常将string类型认为是Java语言的基本数据类型,在此提醒读者Java语言的基本数据类型中并没有string类型。另外,要对数据类型之间的转换有一定的了解。在使用变量时,需要读者注意的是变量的有效范围,否则在使用时会出现编译错误或浪费内存资源。此外,Java中的各种运算符也是Java基础中的重点。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值