2.安卓逆向-初识java语言

news2024/9/25 1:16:02

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

内容参考于:图灵Python学院

上一个内容:1.安卓逆向-说明

关于java语言的介绍就不写了没啥用直接开始

首先java语言写的代码运行说明

如下图:JDK包含了JRE和开发工具,JRE里面包含了jvm和核心类库,开发工具里面包含编译java代码和运行java代码的工具,java写的代码编译好之后只要有JRE就可以运行了

然后是JDK下载:

下载JDK1.8版本:JDK1.8版本各个公司常用的版本

JDK1.8下载位置:JDK是国外的下载很慢而且还要注册账号,直接用百度网盘下载吧省心

官网:

连接:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

账户:Oracle官网 账号及密码_oracle账号

百度网盘:

链接:https://pan.baidu.com/s/1SiExQL_tUcDeW05v3Mhi8g?pwd=n27z

提取码:n27z

复制这段内容后打开百度网盘手机App,操作更方便哦

下载下图红框的东西,下载完双击就能安装了,最好安装到C盘(默认路径下)

安装完之后:

设置环境变量,如果不设置环境变量,只能在java安装目录下运行java代码,设置环境变量的方式

首先复制java安装目录一直复制到bin目录

然后右击此电脑(我的电脑),选择属性

然后找到高级系统设置

然后点击环境变量

然后找到path

然后新建把java安装目录粘贴进去

然后还需要给下图红框,也就是bin目录的上一层,添加到上方的环境变量中

配置完之后可以打开一个cmd

然后输入java,会打印出下图红框里的内容,这就说明环境变量设置好了

JDK下载完了环境变量设置好了,就可以写java代码运行java代码了,写java代码有一个好用的编辑器,名字叫IDEA

IDEA有免费版本,有收费版本

收费版本有网上有激活码,这里写下载Windows系统免费版本

下载地址:Other Versions - IntelliJ IDEA

如下图 Community 意思是社区,IDEA社区版本是免费的,现在电脑基本没有32位了,所以直接下载WindowsX64的exe文件,下载完双击就能安装idea了,安装过程没什么要注意的选好安装目录一路点下一步就可以

然后使用idea创建项目,安装完打开idea

点击下图红框

然后点击下图红框

或点击下图红框

然后下图红框写一个程序名

下图红框选择代码存放地

然后下图红框位置如果不是安装的jdk目录,那就选择Add JDK...

点了add jdk之后选中到安装目录,也就是bin目录的上一层,然后点ok就可以了

然后点击Create

写代码的环境就创建好了,这里称它为项目

然后鼠标右击选择Java Class

然后随便写一个名字,然后双击class

然后文件创建好了

然后编写代码

写完之后点击下图红框运行代码

运行之后的效果就是打印你好俩字

运行点下图红框任意的位置都可以

下图红框位置的内容可以随意写中文英文都可以

下图红框的东西是java语言使用的,不能用它们当名字,为了快速掌握先这样记不要去纠结

然后下图红框位置的内容要与文件名字一致,它是叫做类名

然后下图红框是一个函数,叫做main函数,程序运行的时候main函数最先执行,也就是java程序都是从main函数开始执行的,整个java程序也只能存在一个main函数

然后如下图输入一个main它会给提示,这时按tab键它可以自动补齐代码

以上是写一个java代码、运行java代码的基本流程

补充:下图红框里public放到函数上表示任何人都可以访问这个函数,static表示这是静态函数(静态函数涉及很多东西一点半点写不明白,这就记住就行,后面会有用法),void表示这个函数没有返回值,main是函数名,String[]是函数的入参类型,args是函数的入参名

创建完了项目设置jdk,首先点击下图红框

然后选择

这里可以选择到jre,选择到jre上一个目录也可以

java里的基本数据类型:byte、short、int、long、float、double、char、boolean它们的时候后面用到的时候再说

注释:下图红框里的就是注释,注释的两种写法// 和/***/,注释一般用来写一些文字用来描述这个代码的逻辑或功能的

代码示例:

import java.util.Scanner;

public class Hello {

    public static void main(String[] args) {
        
        // 输出
        System.out.print("请输入:");
        
        // 输入
        Scanner input = new Scanner(System.in);
        String text = input.nextLine();

        // 输出
        System.out.println(text);

    }
}

上方代码的效果,在下图红框位置写一段内容,下图红框所属的窗口叫做控制台也就是cmd

如下图写完的内容,然后按回车

然后会打印输入的内容

运算符:

public class Test {
 
  public static void main(String[] args) {
     int a = 10;
     int b = 20;
     int c = 25;
     int d = 25;
     System.out.println("a + b = " + (a + b) );
     System.out.println("a - b = " + (a - b) );
     System.out.println("a * b = " + (a * b) );
     System.out.println("b / a = " + (b / a) );
     System.out.println("b % a = " + (b % a) );
     System.out.println("c % a = " + (c % a) );
     System.out.println("a++   = " +  (a++) );
     System.out.println("a--   = " +  (a--) );
     // 查看  d++ 与 ++d 的不同
     System.out.println("d++   = " +  (d++) );
     System.out.println("++d   = " +  (++d) );
  }
}

条件判断符号,下图中的真表示满足,假表示不满足

public class Test {
 
  public static void main(String[] args) {
     int a = 10;
     int b = 20;
     System.out.println("a == b = " + (a == b) );
     System.out.println("a != b = " + (a != b) );
     System.out.println("a > b = " + (a > b) );
     System.out.println("a < b = " + (a < b) );
     System.out.println("b >= a = " + (b >= a) );
     System.out.println("b <= a = " + (b <= a) );
  }
}

总结:

安装了jdk,jdk是用来编译(变成可以运行的代码)和运行java代码的程序、设置了环境变量,如没有环境变量java程序只能在jdk安装目录下的bin目录下运行、然后安装了idea编写java代码的编辑器


img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2126366.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kolors文生图框架安装

环境安装 根据Kolors【github】的指引&#xff0c;安装命令如下&#xff1a; apt-get install git-lfs git clone https://github.com/Kwai-Kolors/Kolors cd Kolors conda create --name kolors python3.8 conda activate kolors pip install -r requirements.txt python3 s…

Vue3+TS项目封装SVG图标显示组件vite-plugin-svg-icons插件使用

准备好svg文件 假设从iconfont-阿里巴巴矢量图标库下载了一个svg格式的图标&#xff0c;放在我们项目里&#xff0c;并重命名为ic_money.svg&#xff0c;相对路径为&#xff1a;src\assets\images\icons\ic_money.svg 安装vite-plugin-svg-icons插件 npm install vite-plugi…

常用电路及分析

前言 最近在研究一些简单的硬件知识&#xff0c;把在网上看到的一些常见电路分析总结了一下。 有纰漏请指出&#xff0c;转载请说明。 学习交流请发邮件 1280253714qq.com 串联稳压电路 三极管串联线性稳压电路原理详解及Multisim仿真_三极管稳压电路-CSDN博客 线性稳压电…

Java小白一文讲清Java中集合相关的知识点(八)

HashMap底层机制及源码剖析 HashMap底层维护了Node类型的数组table,默认为null 当创建对象时&#xff0c;将加载因子初始化为0.75&#xff1b; 当添加key-value时&#xff0c;通过key的哈希值得到在table的索引&#xff0c;然后判断该索引处是否有元素&#xff0c;如果没有元…

力扣 — — 2555. 两个线段获得的最多奖品

力扣 — — 2555. 两个线段获得的最多奖品 一、题目描述 题目大意&#xff1a;给定一个数组prizePositions&#xff0c;数组中的值表示的是奖品的位置&#xff0c;每一个位置可以有多个奖品&#xff0c;并且设定一个线段的长度 K K K&#xff0c;要求从所有奖品位置中选择两个…

修改Netty 中EventLoopGroup的线程名字前缀

此方案针对 netty 4 , 阅读Netty 源码的过程中涉及到多种线程跳转&#xff0c;2-1 3-1 4-1 类似的命名头晕眼花&#xff0c;直接改了成方便辨认的名字吧&#xff01; 代码如下&#xff1a; public static EventLoopGroup getEventLoopGroup(String name, int nThread) {Defaul…

第十一周:机器学习

第十一周周报 摘要Abstract机器学习1. 注意力机制&#xff08;下&#xff09;1.1 multi-head self-attention&#xff08;多头注意力机制&#xff09;1.2 Positional Encoding&#xff08;位置编码&#xff09;1.3 truncated self attention&#xff08;截断式注意力机制&#…

SVGJS使用

svgjs用于操作 SVG 和动画的轻量级库。 官网 SVG.js v3.2 |家 (svgjs.dev) 1、安装 npm install svgdotjs/svg.js 或者下载直接引用 2、使用 <script src"https://cdn.jsdelivr.net/npm/svgdotjs/svg.js3.0/dist/svg.min.js"></script> import { S…

Win11 22H2/23H2用户速来!9月更新补丁KB5043076已发布

系统之家于9月11日发出最新报道&#xff0c;微软针对Win11用户发布了9月最新的更新补丁KB5043076&#xff0c;22H2用户升级系统后&#xff0c;版本号升至22621.4169&#xff0c;23H2用户的系统版本也升至22631.4169。此次更新支持用户从Windows分享窗口将内容共享到安卓设备。以…

95. UE5 GAS RPG 实现创建多段飞弹攻击敌人

从这篇开始&#xff0c;我们将实现一些技能&#xff0c;比如多段火球术&#xff0c;闪电链等等。 在这一篇里&#xff0c;我们先实现多段火球术&#xff0c;技能可以通过配置发射出多个火球术进行攻击。 创建多段火球函数 首先在我们之前创建的RPGFireBolt.h类里面增加一个生…

k8s的环境配置

一、前期系统环境准备 准备3台主机&#xff1a;硬盘50G cpu2个 内存2G 1、3台主机同时配置 1&#xff09;关闭防火墙与selinux、NetworkManager [rootk8s-master ~]# systemctl stop firewalld[rootk8s-master ~]# systemctl disable firewalldRemoved symlink /etc/systemd/…

ctfshow-web入门-sql注入-web248-UDF 注入

udf 全称为&#xff1a;user defined function&#xff0c;意为用户自定义函数&#xff1b;用户可以添加自定义的新函数到 Mysql 中&#xff0c;以达到功能的扩充&#xff0c;调用方式与一般系统自带的函数相同&#xff0c;例如 contact()&#xff0c;user()&#xff0c;versio…

VUE实现刻度尺进度条

一、如下图所示效果: 运行后入下图所示效果: 实现原理是用div画图并动态改变进度, 二、div源码 <div style="width: 100%;"><div class="sdg_title" style="height: 35px;"><!--对话组[{{ dialogGroup.index }}]编辑-->&…

如何在微信中使用AI智能回复,真AI大模型;微加机器人免费智能回复功能

之前一直想实现在微信中使用AI大模型进行消息回复&#xff0c;也使用过很多开源的工具自己调OpenAI的API&#xff0c;但是整体太复杂&#xff0c;而且跑在自己电脑上也不稳定 今天发现微加机器人也支持AI回复&#xff0c;而且AI功能还是免费的&#xff0c;没有tokens收费 微加…

【Gephi】可视化教程

此教程专供欣欣向荣及其舍友使用 文章目录 导入数据上色改变布局设置节点大小统计拓扑结构输出图形保存文件 导入数据 点击【文件】-【导入电子表格】 先选择csv格式的network 直接下一步 点击完成 【图的类型】改为“有向的” 点击确认 会弹出报错&#xff0c;直接clos…

CSS 响应式设计(补充)——WEB开发系列36

随着移动设备的普及&#xff0c;网页设计的焦点逐渐转向了响应式设计。响应式设计不仅要求网页在各种屏幕尺寸上良好展示&#xff0c;还要适应不同设备的特性。 一、响应式设计之前的灵活布局 在响应式设计流行之前&#xff0c;网页布局通常是固定的或流动的。固定布局使用固定…

vc-upload源码分析 -- ant-design-vue系列

vc-upload源码分析 – ant-design-vue系列 1 整体结构 上传组件的使用分两种&#xff1a;点击上传和拖拽上传。 点击的是组件或者是卡片&#xff0c;这个是用户通过插槽传递的。除上传外的其他功能&#xff0c;比如预览、自定义文件渲染等功能&#xff0c;也不是上传的核心功…

2. 变量和指令(omron 机器自动化控制器)——1

机器自动化控制器——第二章 变量和指令 1 2-1 变量一览表MC通用变量轴变量▶ 轴组变量 运动控制指令的输入变量输入变量的有效范围▶ 枚举体一览表 运动控制指令的输出变量运动控制指令的输入输出变量 2-1 变量一览表 MC功能模块使用的变量分为两类。 一类是监视轴等的状态及…

【SQL】百题计划:SQL对于空值的比较判断。

[SQL]百题计划 方法&#xff1a; 使用 <> (!) 和 IS NULL [Accepted] 想法 有的人也许会非常直观地想到如下解法。 SELECT name FROM customer WHERE referee_Id <> 2;然而&#xff0c;这个查询只会返回一个结果&#xff1a;Zach&#xff0c;尽管事实上有 4 个…

关于使用HAWQ量化框架执行训练前推理的性能崩溃问题

问题描述 今天debug量化模型遇到一个比较奇怪的问题&#xff0c;之前从来没有注意过&#xff1a; 现在量化模型的流程是&#xff1a; 1&#xff09;加载预训练好的浮点数权重模型&#xff1b; 2&#xff09;将模型架构替换成量化架构&#xff08;逐模块替换&#xff09;&#…