学逆向论坛

找回密码
立即注册

只需一步,快速开始

发新帖

76

积分

0

好友

3

主题

[原创图文] Java基础教程

发表于 2023-9-8 17:51:40 | 查看: 2171| 回复: 1
本帖最后由 刘志琦 于 2023-9-8 19:01 编辑

Java基础教程 No1

  一、java的基本概念
      认识基础类型
      首先我们要知道的是,在java中有且只有八个基本类型
byte整数类型(8位)
short 整数类型(16位)
int 整数类型(32位)
long 整数类型(64位)
float 浮点型(32位,单精度)
double 浮点型(64位,双精度)
boolean 布尔型(true和false)
char 字符型(16位)


1.byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。
2.short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。
3.int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1(
-2147483648 ~ 2147483647)
4.long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。
5.float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。
6.double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。
7.boolean:只有true和false两个取值。
8.char:16位,存储Unicode码,用单引号赋值。


记住上面的类型,我们在下面进行类型的定义

在java的主方法中定义如下

public class TestClass {

    // 测试
    public static void main(String[] args) {
    // 测试定义常量
    byte byetTest = 1;
    short shortTest = 12;
    int intTest = 123;
    long longTest = 1234;
    float floatTest = 1F;
    double doubleTets = 2D;
    boolean booleanTest = false;
    char charTest = '1';
   
    // 输出常量
    System.out.println(byetTest);
    System.out.println(shortTest);
    System.out.println(intTest);
    System.out.println(longTest);
    System.out.println(floatTest);
    System.out.println(doubleTets);
    System.out.println(booleanTest);
    System.out.println(charTest);
    }
}

我们可以看到输出的结果都是我们预期的结果
1
12
123
1234
1.0
2.0
false
1

当我们给int类型赋一个在它定义域之外的值的时候,会发生什么呢

Java基础教程

Java基础教程

可以看到,当给常量 intTest的值超过它的定义域之后,该常量就会报错。
因为int类型的定义域最大值并不能超过2147483648,如果你的值大于其定义域,我们建议使用long类型进行定义
int类型可以满足我们大多数的需求,并且使用long会消耗我们更大的内存,所以能用int就用int

2.boolean
  布尔类型是属于八大类中最特殊的类型了,它只有两个值:true和false
  在我们工作当中,一般的布尔类型都会用在判断上也就是如果怎么样就怎么样
伪代码:
boolean booleanTest = 1 > 2;
如果(booleanTest ){
  输出:1比2大
}否则{
  输出:2比1大
}

代码如下:
// 测试
public static void main(String[] args) {
    // 定义布尔常量
    boolean booleanTest = 1 > 2;

    // 输出常量
    System.out.println(booleanTest);

}

输出结果:
false

代码当中
public:该方法的访问等级(public也就是谁可以访问)
void:代表该方法没有返回值
methodTest:该方法的名字
int:方法的参数类型
param:方法的参数名
简单的了解这些之后我们可以查看方法的定义

2.方法的定义:
方法的定义我们大致分为两种
2.1.没有返回值的
2.2.有返回值的

没有返回值的方法定义
public void methodTest() {
    int testa = 123;
   System.out.println(testa);
}


使用void关键字来定义该方法没有返回值

有返回值的方法定义
public int Test() {
    int a = 123;
    return a;
}

我们可以使用int来定义方法的返回值类型
当方法返回值类型为int时,我们也只能将一个int类型的值进行return


三、方法调用
我们并不建议在一个方法中实现比较复杂的功能
一个方法虽然可以实现,但是我们的代码行数会特别多,可读性也会变差,那么我们可以使用多个方法来进行调用,增加我们代码的复用性和可读性

例如我们想要实现一个判断两个字符串都是不是空,如果是空的话,我们要返回一个“true”的字符串(字符串的概念后面讲)
正常我们会写
public static void main(String[] args) {
    String a = "";
    String b = null;
    if (((a == null || "".equals(a)) && (b == null || "".equals(b)))) {
            System.out.println("true");
    } else {
            System.out.println("false");
    }
}

输出结果
true

但是我们可以看到,这里的if判断的条件过多,虽然可以实现,但是如果条件再多一点的话,其代码的可读性只会越来越差
我们可以进行一个方法的抽出
方法如下
/**
* 判断字符串是否为空
*
* @param str
* @return 返回true或false
*/
public static boolean isEmpty(String str) {
        // str.length() == 0 和 "".equals(str)作用一致
        return str == null || str.length() == 0;
}

我们在主方法中调用
public static void main(String[] args) {
    String a = "";
    String b = null;
    if (isEmpty(a) && isEmpty(b)) {
            System.out.println("true");
    } else {
            System.out.println("false");
    }
}

输出结果
true

当我们把b的值设置为test时
public static void main(String[] args) {
    String a = "";
    String b = "test";
    if (isEmpty(a) && isEmpty(b)) {
            System.out.println("true");
    } else {
            System.out.println("false");
    }
}

这也就是我们想要的效果


本帖仅限于学习使用,如若转载请标明出处,若使用者出现不合法行为,本帖主不承担任何法律责任

温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的认可,还可以获得学币奖励,请尊重他人的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
发表于 2023-9-8 19:04:51
@roger
有时间帮我看看这里有什么问题不

小黑屋|手机版|站务邮箱|学逆向论坛 ( 粤ICP备2021023307号 )|网站地图

GMT+8, 2024-7-13 23:44 , Processed in 0.188788 second(s), 47 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表