java第三章语言基础总结

java主类结构

java语言是面向对象的程序设计语言,Java 程序的基本组成单元是类,类体中又包括属性与方法两部分。 每一个应用程序都必须包含个maino方法,含有main(方法的类称为主类)。

编写主方法

main() 方法是类体中的主方法 以“{ ” 开始 以“}” 结束

  • public 权限修饰符

  • static 静态修饰符

  • void 返回值修饰符

   例:Eclipse下依次创建项目item,包Number和类Frist。 在 类体中输入以下代码,实现在控制台上输出“你好Java"。

java
public class First {
    static String s1 = "你好"; // 类的属性称为全局变量 (成员变量) 要加一个static
    public static void main(String[] args) {
        String s2 = "Java"; //方法中的属性称为局部变量
        System.out.println(s1);
        System.out.println(s2);
    }
}

1.2 基本数据类型

基本数据类型(primitive data type) 最基础的数据类型 八种

整数型 byte short int long

浮点型 float double 小数

字符型 char

布尔型 boolean true false 做逻辑判断

1.2.1 整数类型

byte short int long

public class TestVar05{
        public static void main(String[] args){
                //定义整数类型的变量:
                //给变量赋值的时候,值可以为不同进制的:
                int num1 = 12 ;//默认情况下赋值就是十进制的情况
                System.out.println(num1);
                int num2 = 012;//前面加上0,这个值就是八进制的
                System.out.println(num2);
                int num3 = 0x12;//前面加上0x或者0X,这个值就是十六进制的
                System.out.println(num3);
                int num4 = 0b10;//前面加上0B或者0B,这个值就是二进制的
                System.out.println(num4);
                
                //定义byte类型的变量:
                byte b = 126;//定义了一个byte类型的变量,名字叫b,赋值为12
                System.out.println(b);
                //注意:超范围的赋值会报错。
                short s = 30000;
                System.out.println(s);
                int i = 1234;
                System.out.println(i);
                //整数类型默认就是int类型的,所以12345678910是一个int类型的数,对于int类型来说,它超出范围了
                //要想把一个数给long类型变量,那么后面加上L(推荐)或者l就可以了
                long num5 = 12345678910L;
                System.out.println(num5);
                //注意:只有这个数超出int类型的范围了后面才需要加上L,否则无需加L也可以赋值给long类型:
                long num6 = 12;
                System.out.println(num6);
                
        }
}

1.2.2 浮点类型

浮点类型简称浮点型,用来存储含有小数部分的数值。Java语言中浮点类型分为单精度浮点类型(float)和双精度浮点类型(double),他们具有不同的取值范围。

创建BMIexponent类,声明double型变量height来记录身高,单位为米;声明int型变量weight记录体重,单位为千克;根据BMI=体重/(身高X身高)计算BMI指数。实现代码如下:

public class BMIcc {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
            double height = 1.72;//身高变量
            int weight =70;//体重变量
            double exponent =weight/(height*height);//BMI计算公式
            System.out.println("您的身高:"+height);
            System.out.println("您的体重为:"+weight);
            System.out.println("您的BMI指数为:"+exponent);
            System.out.println("您的体重属于:");
            if(exponent<18.5) {//判断BMI指数是否小于18.5
            System.out.println("体重过轻");          
            }
            if(exponent>=18.5&&exponent<24.9){//判断BMI指数是否在18.5到24.9之间
            System.out.println("正常范围");
            }
            if(exponent>=24.9&&exponent<29.9){//判断BMI指数是否在24.9到29.9之间
            System.out.println("体重过重");     
            }
            if(exponent>=29.9) {         //判断指数是否大于29.9
            System.out.println("肥胖");
            }
    }
    
}

1.2.3 字符类型

Java中使用单引号来表示字符常量,字符型在内存中占2个字节。

char 类型用来表示在Unicode编码表中的字符。Unicode编码被设计用来处理各种语言的文字,它占2个字节,可允许有65536个字符。

转义字符

转义字符是一种特殊的字符变量,其以反斜杠“\”开头, 后跟一个或多个字符。转义子付具有

特定的含义,不同于字符原有的意义,故称“转义”。

package chen;

public class Chey {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        char c1='\\';//将转义字符‘\\’赋值给变量c1
        char char2='\u2605';//将转义字符赋值给变量char2
        System.out.println(c1);//输出结果\
        System.out.println(char2);//输出结果
    }
}

1.2.4 布尔类型

布尔类型又称逻辑类型,只有true和false两个值,分别代表布尔逻辑中的“真”和“假”。布尔值不能与整数类型进行转换。布尔类型通常被用在流程控制中作为判断条件。

通过关键字boolean 来声明布尔类型变量。

public static void main(String[] args) {
        // TODO Auto-generated method stub
        char c1='\\';//将转义字符‘\\’赋值给变量c1
        char c2='\u2605';//将转义字符赋值给变量c2
        System.out.println(c1);//输出结果
        System.out.println(c2);
        boolean b=true;//定义布尔型变量b,并赋值给ture
        boolean b2=Boolean.FALSE;
        System.out.println(b);
        System.out.println(b2);//
    }
}

变量与常量

在程序执行过程中,其值能被改变的量称为变量,其值不能被改变的量称为常量。变量与常量的命名都必须使用合法的标识符。将向读者介绍标识符与关键字、变量与常量的声明。

2.2 标识符与关键字

Java语言规定标识符由任意顺序的字母,下划线,美元符号和数字组成,并且第一个字符不能是数字标识符,不能是Java中的保留关键字

(1)类名:通常使用名词,第一个单词字母必须大写,后续单词首字母大写。

(2)方法名:通常使用动词,第一个单词首字母小写,后续单词首字母大写。

(3)变量:第一个单词首字母小写,后续单词首字母大写。

(4)常量:所有字母均大写。

(5)单词的拼接:通常使用"userLastName"方式拼接来单词,而不是"user_last_name"。

关键字是Java语言中已经被赋予特定意义的一些单词,不可以把这些字作为标识符来使用。简单理解为凡是在Eclipse 变成红色粗体的单词,都是关键字。

2.3 声明变量

变量的使用是程序设计中一个十分重要的环节。要告诉编译器这个变量是属于哪一种数据类型,这样编译器才知道需要配置多少空间给它,以及它能存放什么样的数据。在程序运行过程中,空间内的值是变化的,这个内存空间就称为变量。为了便于操作,给这段空间取个名字,就是我们声明的变量名。内存空间内的值就是变量值。在声明变量时可

以没有赋值,也可以直接赋给初值。

对于变量的命名并不是任意的,应遵循以下几条规则:

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

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

(3)变量名不能重复。

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

  1. 常量

  1. 在程序运行过程中,一直不会改变的量称为常量,通常也被称为“final 变量” ,常量名通常使用大写字母,但这并不是必须的,很多Java程序员使用大写字母表示常量,是为了清楚的表明正在使用常量

  1. 尝试给常量赋值,观查是否发生错误。

public class Bian {
    //声明常量 PI,此时如不对PI进行赋值,则会出现错误提示
    static final double PI = 3.14;
    static int age = 23; //声明int 型变量 age并进行赋值
    public static void main(String[] args) {//主方法
    
    
    final int number; //声明 int 型常量 number
    number=1235; //对常量进行赋值                              
    age =22;     //再次对变量进行赋值
    number=1236; //错误代码,number为常量,只能赋值一次
    System.out.println("常量PI的值为:"+P/); //将 PI 的值输出
    System.out.println("赋值后number的值为:"+number);//将number的值输出
    System.out.println("int 型变量age的值为:"+age);//将number的值输出
    }
}

  1. 变量

定义:变量的有效范围是指程序代码能够访问该变量的区域,若超出变量所在的区域访问变量则编译时会出现错误.在程序中,一般会根据变量能够访问的区域将变量分为"成员变量"和局部变量.

成员变量:在类体中所声明的变量被称为成员变量,成员变量在整个类中都有效。

局部变量:只能在当前代码块中有效,局部变量与成员变量名相同时,成员变量被隐藏暂时失效,运行结果就会取就近原则

运算符

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

2.4.1 赋值运算符

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

inta=100; //该表达式是将100赋值给变量a

左边的操作数必须是一个量,而右边的操作数则可以是变量(如 a、number)、常量(如 123、'book)、有效的表达式(如45*12)

public class Fuzhi {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a,b,c; //声明int变量a,b,c
        a = 15; //将15赋值给a
        c = a; //将a的值赋给c
        b = a + 4; //将a与4的和赋值给变量b,然后给c
        c = b;  //将c的值赋给b
        System.out.println("c值为: "+c);
        System.out.println("b值为:"+b);
    }

}
2.4.2 算术运算符

Java中的算术运算符主要有+(加号)、-(减号)、*(乘号)、/(除号)、%(求余),它们都是双目运算符。

package kt38;

import java.util.Scanner;

public class kn38 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);{
        System.out.println("请输入两个数字,用空格隔开(num1 num2:)");//输入提示
        double num1 = sc.nextDouble();
        double num2 = sc.nextDouble();
        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("num1%num2的余为:"+(num1%num2));//计算余
        sc.close();//关闭扫描器
        }
    }

}
2.4.3 自增和自减运算符

自增和自减运算符是单目运算符,可以放在变量之前,也可以放在变量之后。自增和自减运算符的作用是使变量的值增1或减1.

  • a++; ++a a--; --a

  • 符合在前 ++i --i 先计算后使用

  • 符合在后 i++ i-- 先使用后计算


         public static void main(String[] args) {//主函数
          // TODO 自动生成的方法存根
          int a =1;//创整型量初始值为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.4.4 关系运算符

关系运算符属于双目运算符,用来判断一个操作数与另外一个操作数之间的关系。关系运算符的计算结果都是布尔类型的。

public static void main(String[] args) {//主函数
             
int num1 =4,num2=7; //声明int型变量num1,并赋值4,声明int型变量num2,并赋值7
int num3 =7;        //声明int型变量num3,并赋值7
System.out.println("numl<num2 的结果:"+(num1 < num2)); //输出numl<num2 的结果的值
System.out.println("numl>num2 的结果:"+(num1 > num2)); //输出numl>num2 的结果的值
System.out.println("num1==num2的结果:"+(num1 ==num2));//输出numl==num2 的结果的值
System.out.println("numl!=num2 的结果:"+(num1 != num2));//输出numl!=num2 的结果的值
System.out.println("numl<=num2的结果:"+(num1 <= num2));//输出numl<=num2 的结果的值
 System.out.println("num2>=num3的结果:"+(num2>= num3));//输出numl>=num2 的结果的值
   }
          }
2.4.5逻辑运算符

逻辑运算符包括&&(逻辑与)、(逻辑或)、!(逻辑非)。逻辑运算符计算的值必须是 boolean 型数据。在逻辑运算符中,除了“!”是单目运算符之外,其他都是双目运算符。

运算符

含义

举例

结果

&&

逻辑与(并且)

A&&B

(对)与(错)=错

||

逻辑或(或者)

A||B

(对)或(错)=对

逻辑非(相反)

!A

不(对)=错

public static void main(String[] args) {//主函数
          // TODO 自动生成的方法存根
          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.4.6位运算符

位运算的操作数类型是整形,可以有符号的,也可以是无符号的,位运算符可以分为两大类,位逻辑运算符和位移运算符。

运算符

含义

举例

&

a&b

|

a|b

~

取反

a~b

^

异或

a^b

<<

左移位

a<<b

>>

右移位

a>>b

>>>

无符号右移位

a>>>b

按位与运算

都是1才是1

按位或运算

有1就是1

按位取反运算

1为0,0位1

按位异或运算

两者相同为0,不同为1

<<(左移)

整体左移,后位补0,溢出去掉

>>(右移)

整体右移,整数补0,负数补1,溢出去掉

>>>(无符号位移)

整体右移,空位补0,溢出去掉

2.4.7复合赋值运算符

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

2.4.8三元运算符

三元运算符的使用格式为:条件式?值1:值2

三元运算符的运算规则为:若条件式的值为true,则整个表达式取值1,否则取值 2

三元运算符等价于if.....else语句

数据类型转换

类型转换是将一个值从一种类型更改为另一种类型的过程。例如,不仅可以将 String类型数据“457”转换为一个数值型,而且可以将任意类型的数据转换为为 String 类型。

隐式转换:不会丢失数据;

显示转换:可能会丢失数据

数据类型转换有两种方式,即隐式转换与显式转换。

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

public static void main(String[] args) {
        // TODO Auto-generated method stub
    byte mybyte = 27;
    int myint = 150;
    float myfloat = 452.12f;
    char mychar = 10;
    double mydouble = 45.46546;
    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));
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云玩java.dog️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值