app逆向学习记录——3

###app反编译出来的代码都是java代码,所以要有一定的java基础

1 Java环境搭建

1.1 安装jdk配置环境变量

# 安装jdk
# 
是否需要再选择安装一个额外的JRE。
这是可选的,因为之前安装的JDK中,已经包含了开发环境和JRE运行环境两部分,所以不必再安装一个JRE。



### 配置环境变量
# 1 新建 JAVA_HOME
JAVA_HOME     D:\Program Files\Java\jdk-1.8
    
# 2 新建 CLASSPATH【第一个是. 表示当前路径】
CLASSPATH     .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

# 3 path 加入两个环境变量
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin

1.2 第一个helloworld

#1 打开记事本,写入如下代码,命名为HelloWorld.java
public class HelloWorld {
   
    public static void main(String[] args) {
   
        System.out.println("hello world");
    }
}

#2 编译代码  生成字节码文件 HelloWorld.class
javac HelloWorld.java
# 3 执行字节码文件
java HelloWorld

1.2 编辑器

# 1 Eclipse  https://www.eclipse.org/downloads/
Eclipse是一个免费的开源Java IDE,提供了丰富的功能和插件扩展。它支持Java应用程序、Web应用程序和企业级应用程序的开发,并具有强大的代码编辑、调试和测试工具。
# 2 My Eclipse  https://www.genuitec.com/products/myeclipse/
MyEclipse是一个专为Java开发而设计的集成开发环境(IDE),它是Eclipse IDE的一个商业化版本。MyEclipse提供了许多功能和工具,旨在提高Java开发人员的生产力和效率

# 3 IntelliJ IDEA:https://www.jetbrains.com/idea/download/other.html
IntelliJ IDEA是一种商业化的Java IDE,也有免费的社区版可用。它提供了智能代码完成、代码检查和重构等功能,支持Java开发以及其他相关技术,如Spring和Hibernate,同属于Jetbrains系列,使用习惯跟Pycharm类似,我们选择此编辑器

1.2.1 安装-破解

# 破解激活可以自行找线上现有的安装包

1.2.2 新建项目
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 Java语法快速入门

2.1 程序的入口

# java程序入口为类中的static的viod的main函数,参数固定为字符串数组
public static void main(String[] args) {
   
     System.out.println("hello world");
}

2.2 文件名

# 一个文件中最多只能有一个public类 且 【文件名】必须和【public类名一致】
# 文件中可以有多个类,但是文件名与public类名一致,其它类不能用public修饰
# 如果文件中有多个类 且 无public类,文件名可以是任意类名
public class Main {
   
    public static void main(String[] args){
   
        System.out.println("hello world");
        Demo.add(3,4);
    }
}

class Demo{
   
    public static void add(int a,int b){
   
        System.out.println(a+b);
    }
}

2.3 类规范

###1 类名规范
类名首字母大写且驼峰式命名	
	例如:Hello、UserInfo、PersonApplication
  
### 2 类修饰符(写在类前面的修饰符)
	public、default(不写)

### 3 类中成员(变量,方法)修饰符:
	public、private、protected、default(不写)
  
  
### 4 静态成员方法(static修饰)
	无序实例化就可以指定调用
  
### 5 void表示方法没有返回值

public class Main {
   
    public static String name = "彭于晏";

    public static void main(String[] args) {
   
        // 1 调用其他类的静态方法---》类似于python中的类方法
        Demo.add(3, 4);
        // 2 调用类自己的静态成员变量
        System.out.println(name);
        // 3 调用其他类公开的成员变量
        System.out.println(Demo.age);
        // 4 调用其他类的对象方法,必须实例化才能调用
        Demo d = new Demo();
        d.test();
    }
}

class Demo {
   
    private static String name = "张三"; // 私有变量,只能当前类中使用
    public static int age = 19; // 公有变量,所有类都可以使用

    public static void add(int a, int b) {
   
        System.out.println(a + b);
        System.out.println(name);
    }

    public void test() {
   
        System.out.println("我是test");
    }
}

3 基本语法

3.1 注释

## 1 单行注释
以双斜杠“//”标识,只能注释一行内容,用在注释信息内容少的地方
快捷键:【注释 ctrl+/ 】  【 取消注释 ctrl+/### 2 多行注释
包含在“/*”和“*/”之间,能注释很多行的内容,可以换行
快捷键:【注释 ctrl+shift+/ 】 【取消注释 ctrl+shift+\ 】

### 3 文档注释
包含在“/**”和“*/”之间,也能注释多行内容,一般用在类、方法和变量上面,用来描述其作用。注释后,鼠标放在类和变量上面会自动显示出我们注释的内容
  /**
   * 
   * @param a
   * @param b
   */
  public static void add(int a, int b) {
   
      System.out.println(a + b);
      System.out.println(name);
  }

3.2 变量和常量

// 变量
String name="彭于晏";
name = "李易峰";

int age = 19;
age = 20;
System.out.println(name);
System.out.println(age);

// 常量
final String hobby="足球";
hobby="篮球" // 不允许修改
System.out.println(hobby);

// final 修饰方法
父类中的 final 方法可以被子类继承,但是不能被子类重写。
声明 final 方法的主要目的是防止该方法的内容被修改
  
  
//final 修饰类
final 类不能被继承,没有类能够继承 final 类的任何特性

3.3 输入输出

// 输出
System.out.println("hello");
System.out.print("world"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值