java基础语法

1.常量与变量

在程序设计语言中,对于数据的储存,都是以常量或变量的形式存在

常量:不可改变的数据

变量:可以改变的数据

1.1常量

Java中常量的形式分两种:

1.直接量(字面量):未经定义,直接使用的数据值

System.out.print("hello world!");
System.out.print(15);

2.自定义常量:使用final关键之修饰的

final double PI = 3.1415926;

1.2变量

在内存中开辟一块存储空间,声明两个值:存储的数据类型,存储的空间名称

int number = 15;
//数据类型  变量名 = 初始值;

1.2.1变量的分类

局部变量:在方法做声明的变量,对当前类所有位置生效

全局变量:在类中方法外声明的变量,对当前类所有位置生效

public class Variable {
    static int c = 50;  //全局变量
    public static void main(String[] args) {
        final int a = 10;   //定义常量
        //a = 20;
        //局部变量
        int b = 30;
        b = 40;
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
    }

    public static void m1(){
        System.out.println(c);
    }
}

2.数据类型

2.1基本数据类型

2.1.1整形

类型名称所占字节大小取值范围
byte1字节

-128~127

short2字节-2的15次方~2的15次方-1
int4字节-2的31次方~2的31次方-1
long8字节-2的63次方~2的63次方-1

整形类型的使用场景:

1.进行文件读写的时候,使用byte

2.对于较大的整数,例如毫秒,需要使用long

3.大部分时候使用int

*注意*

java默认整形是int

long类型后面要跟L

2.1.2浮点型

类型名称所占字节大小取值范围
float4字节

-3.40E38~3.40E38

double8字节-1.798E308~1.798E308

*注意*

使用floa声明小数的时候,末尾要加F

小数进行直接运算有bug,结果不精确

Infinity    正无穷
-Infinity   负无穷
NaN       不是一个数字

public class Next1 {
    public static void main(String[] args) {
        double a1 = 19.8;
        double a2 = 16.8;
        double a3 = -16.8;
        double a4 = 0;
        System.out.println(a1*a2);   //计算不精确
        System.out.println(a1/0);    //infinity
        System.out.println(a3/0);    //-infinity
        System.out.println(a4/0);    //NAN (没有这个数)
    }
}

2.1.3字符型

Java中表示单个字符的类型为char,字符型需要使用单引号(‘ ’),区别String(“ ”),String的本质也是一个char类型的数组(序列)

char类型可以表示一个字符、一个字母、一个数字,占据两个字节

不加单引号的数字,自动转为ASCII编码

public class next {
    public static void main(String[] args) {
        char a = 4111;                        //ASCII编码
        System.out.println(a);
        char b = '&';                         //&
        char c = '6';                         //6
        char d = '男';                        //男
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
    }
}

十六进制可以表示为unicode编码,前面需要加转义字符

\u十六之子表字符,自动转为unique编码

\n 换行         \t 空格

2.1.4布尔型

布尔型只有两个值:真或假   true/false

他是基本数据类型中所占空间最小的数据类型,只占一个二进制位

public class next {
    public static void main(String[] args) {
        boolean a = 8>9;
        System.out.println(a);
    }
}

*练习*

使用声明变量打印

姓名	性别	年龄
张飞	 男	     77
貂蝉	 女	     44
public class Next {
    public static void main(String[] args) {
        System.out.println("姓名"+"\t"+"性别"+"\t"+"年龄"+"\n"+
                            "张飞"+"\t"+"男"+"\t"+"77"+"\n"+
                            "貂蝉"+"\t"+"女"+"\t"+"44");
    }
}

2.2引用数据类型

String 字符串型,它是由Java.lang爆为我们提供的一个类,底层维护的依然是char类型的数组

除了八大基本数据类型以外所有的数据类型都是引用数据类型

除了八的基本数据类型,我们还需要表示一些比较复杂的数据,比如一个学生(姓名、性别、年龄、身高、体重、吃饭、睡觉、打游戏),所以我们需要一个引用数据类型来标示这样一些比较复杂的数据

2.3数据类型的转换

数据类型的转换遵循以下原则:

小转大 直接转 隐式转换

大转小 手动转 显示转换            (类型名)变量名

大的转小的数据类型,要保证不能超出取值范围,否则数值不准确

3.运算符

+ 加

- 减

* 乘

/ 除

% 取模

+ + 自增  a++是先使用在运算,++a是先运算在使用

- - 自减    a- -是先使用在运算,- -a是先运算在使用

3.2关系运算符

> 大于

< 小于

>= 大于等于

<= 小于等于

== 等于等于

!= 不等于

使用关系运算符得到的结果都是布尔值

3.3布尔运算符

& 与

| 或

! 非

&& 短路与,前面一个是假的结束判断,都为假

||    短路或,前面一个是真的结束判断,都为真

3.4位运算符

^ 异或    必须一真一假才为真

<< 左移  先把数字转为二进制,把高位向左移,低位补零;2<<2

>> 右移  先把数字转为二进制,把高位向右移,高位补零;8>>2

3.5三目运算符

条件?语句一:语句二

判断这个条件,满足时执行一,不满足执行二

3.6其他运算符

+=   加等于

-=   减等于

*=  乘等于

/= 除等于

%= 模等于

3.7运算符优先级

需要先进性运算的括号括起来

4.方法

4.1表达式

声明一个变量

int a = 10;

调用一个对象的方法或属性

stu.name

4.2代码块

用花括号括起来的一段可执行代码

{

int a = 35;

int b = 44;

Sytem.out.print(a+b)

}

4.3方法的定义

修饰符 返回值 方法名 ([参数列表]){

可执行代码块

}

 public static void m1(){
        System.out.println("Hello!");
    }

使用方法的好处:

代码可重用。避免代码冗余

public 资源访问权限(公共的)

static 修饰为静态资源,让主方法可以直接调用

void 返回值(无返回值)

m1 方法的名称

() 参数列表(无参)

{} 可执行代码块

方法的返回值

void 代表方法没有返回值,没有ruturn返回

如果有返回值,则需要写出相应的数据类型

方法的参数列表

参数可以有n个,每个参数都必须定义数据类型

在调用方法是,参数的个数,参数的类型,必须一 一对应

方法的种类

public class Next {
    public static void m1(){
        System.out.println("Hello");
    }                                      //无参无返回值
    public static int m2(int i){
        return i;                          //有参有返回值
    }
    public static void m3(String i){
        System.out.println(i);             //有参无返回值
    }
    public static String m4(){
        return "你好";                      //无参有返回值
    }
    public static void main(String[] args) {
        m1();
        m2(55);
        m3("ssss");
        m4();
    }
}

方法的调用

在main方法中,调用被static修饰的方法,可以直接写方法名加参数列表,实现调用

若方法没有被static修饰,则不能直接调用,需要先new对象,通过对象名称来调用

Math.random();

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值