Java学习之路 —— Day1(环境配置、变量)

文章目录

  • 前言
  • 1. 搭建Java开发环境
    • 1.1 下载java
    • 1.2 JDK组成
    • 1.3 使用idea开发
  • 2. java基本语法
    • 2.1 变量类型
    • 2.2 Scanner输入
    • 2.3 随机数
    • 2.4 数组

前言

已经好久没有写博客了,打开这个网站有一种熟悉又陌生的感觉。

前段时间一直在准备秋招,现在也告一段落了,也马上到下一个阶段了,所以才又一次打开了这个网站。

我也不知道我还能坚持输出多少博客,或许后面工作了也就写一篇少一篇了吧。

后续可能会因为工作业务需求的原因,和我未来长期的一个职业规划发展来看,我可能会转java了,这或许也就意味着我要和用了3年的C++告别了。在没心没肺玩了快一周后,我打算慢慢开始学着java。

1. 搭建Java开发环境

1.1 下载java

java的产品叫做JDK,必须安装JDK才能使用java。

下载的地址是Oracle官网:JDK

安装好后,bin、目录下包含了2个文件,其中javac.exe是编译工具,此时,我们的源代码文件会从hello.java变为hello.class;然后java.exe是执行工具。

来一个最简单的hello world。注意,文件名称必须与代码的类名称一致,而且main函数必须也要有参数,这一点和C++不一样!

public class helloWord {
	public static void main(String[] args) {
		System.out.println("Hello, World");
	}
}

在这里插入图片描述
在JDK11后,可以直接java helloWorld.java,这就不会创建中间文件了。

1.2 JDK组成

  • JVM:java虚拟机,真正运行java程序的地方
  • 核心类库:java自己写好的程序,给程序员自己的程序调用的
  • JRE:java的运行环境
  • JDK:java开发包

其中,JVM和核心类库组成了JRE,而JRE和各种开发工具(java、javac)共同组成了JDK。

java一个最好的优点就是跨平台了,因为有JVM的存在,公司为不同的平台提供了对应的JVM。

1.3 使用idea开发

使用idea开发第一个java程序的步骤:

  1. 创建工程new project
  2. 创建模块new Module
  3. 创建包new Package
  4. 创建类

project->module->package->class
层层文件夹,套娃呢感觉。

几个常用的IDEA快捷键

  • main/psvm、sout:快速键入相关代码
  • ctrl + D:复制当前行数据到下一行
  • ctrl + Y:删除所在行,建议用ctrl + X
  • ctrl + alt + L:格式化代码
  • alt + shift + ↑/↓:上下移动当前代码

2. java基本语法

这里呢主要是把一些和C++不同的罗列出来,其实大部分的语法和用法和C++都是相同的。

2.1 变量类型

基本类型和C++基本一致,比如int、浮点数、字符char用' ',字符串String用" "。唯一的区别就是char占用的是2个字节,long占用的是8个字节。并且布尔类型在java中叫做boolean,这个名称和C++不同。

还有个变量类型是byte占1个字节,byte在计算时会默认转换成int进行计算。
在这里插入图片描述

2.2 Scanner输入

使用scanner接受用户键盘输入有3个步骤:

  1. 导包:告诉程序去JDK哪个包中招扫描器技术
  2. 得到键盘扫描器对象
  3. 等待接收用户输入数据
public class sanner {
    public static void main(String[] args) {
        // 得到一个键盘扫描器对象
        Scanner sc = new Scanner(System.in);
        // 调用cs的功能,来接收用户键盘输入的数据
        System.out.println("请输入年龄:");
        int age = sc.nextInt();   // 执行到这,会等待用户输入一个整数

        System.out.println("请输入姓名:");
        String name = sc.next();    // 输入的是string

        System.out.println("请输入性别:");
        String sex = sc.next();    // 输入的是string
        System.out.println(age + " " + name + " " + sex);
    }
}

2.3 随机数

  1. 导包:在java.util.Random
  2. 获取随机数对象
  3. 调用随机数的功能获取0~9的随机数
package basic;
import java.util.Random;
public class random {
    public static void main(String[] args) {
        Random r = new Random();
        int number = r.nextInt(10);
        System.out.println(number);
    }
}

2.4 数组

Java使用new操作符来创建数组

  • dataType[] arrayRefVar = new dataType[arraySize]; // 动态初始化
  • dataType[] arrayRefVar = new dataType[] {value0, value1, ..., valuek}; // 静态初始化
  • dataType[] arrayRefVar = {value0, value1, ..., valuek}; // 简化写法

和C++不同的是,java中[]建议是放在类型名的后面,而不是在变量后面。

如果想要获取数组的长度,使用的是nums.length,而不是size。


在Java中,多个变量指向同一个数组,相当于C++中的引用,指向的是同一块地址。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++代码】最接近的三数之和,括号生成,合并两个有序链表,合并 K 个升序链表

题目&#xff1a;最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀&#xff0c;返回空字符串 ""。 class Solution { public:string longestCommonPrefix(vector<string>& strs) {string res"";int index 0; f…

专题知识点-二叉树-(非常有意义的一篇文章)

这里写目录标题 二叉树的基础知识知识点一(二叉树性质 )树与二叉树的相互转换二叉树的遍历层次优先遍历树的深度和广度优先遍历中序线索二叉树二叉树相关遍历代码顺序存储和链式存储二叉树的遍历二叉树的相关例题左右两边表达式求值求树的深度找数找第k个数二叉树非递归遍历代码…

Swift 警惕“隐式异步(implicitly asynchronous)”方法的执行陷阱

概览 actor 是 Swift 5.5 中一个“不可思议”的新类型&#xff0c;可以把它看做成一个数据同步器。actor 中所有属性和方法都会被自动“串行”&#xff08;serializes&#xff09;访问和执行&#xff0c;从而有效避免了数据竞争的发生。 不过&#xff0c;在一些微妙的情境下使…

笔记51:循环神经网络入门

本地笔记地址&#xff1a;D:\work_file\DeepLearning_Learning\03_个人笔记\3.循环神经网络\循环神经网络 a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a

29.第三方登录

1►第三方登录 当今社会&#xff0c;微信登录、QQ登录、抖音登录等等三方登录已经层出不穷&#xff0c;学会三方登录势在必行。 微信登录要认证开发者&#xff0c;必须为企业&#xff0c;个人不行&#xff0c;而且还要交300块钱。 QQ登录也要申请、微博登录也要申请。 还好…

ppt画思路图 流程图 医学药学生画图素材

关注微信&#xff0c;回复: 素材 &#xff0c;即可领取

基于 React 的 HT for Web ,由厦门图扑团队开发和维护 - 用于 2D/3D 图形渲染和交互

本心、输入输出、结果 文章目录 基于 React 的 HT for Web &#xff0c;由厦门图扑团队开发和维护 - 用于 2D/3D 图形渲染和交互前言什么是 HT for WebHT for Web 的特点如何使用 HT for Web相关链接弘扬爱国精神 基于 React 的 HT for Web &#xff0c;由厦门图扑团队开发和维…

基于闪电搜索算法优化概率神经网络PNN的分类预测 - 附代码

基于闪电搜索算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于闪电搜索算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于闪电搜索优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神…

任意文件读取漏洞 (Arbitrary File Read/Download Vulnerability)

任意文件读取漏洞 文章目录 任意文件读取漏洞漏洞场景漏洞危害漏洞分类任意文件读取重要函数readfile()file_get_contents()fread()$_GET任意文件读取 任意文件下载html实现a标签PHP实现任意文件下载 任意⽂件读取攻防过滤../防守绕过 任意文件读取挖掘漏洞防御 ​ 一些网站的需…

十年测试告诉你35岁测试程序员,互联网技术岗,何去何从?

今年的就业情形&#xff0c;想必大家都深有感触。企业裁员&#xff0c;求职市场岗位大幅减少&#xff1b;薪资降低&#xff0c;岗位能力要求越来越高&#xff1b;好像一瞬间大家都从万米高空坠落&#xff0c;失重带来的眩晕和迷茫&#xff0c;让求职者和招聘企业都显得有点手忙…

路由器ipsec|vpn实验分析

AR1 和 AR2代表两个公司的出口&#xff0c;R2模拟互联&#xff0c;两个公司通信&#xff0c;通过ipsec vpn 加密隧道进行业务通信 切记&#xff1a;ipsec 路由器一定用AR系列&#xff0c;千万别用R&#xff0c;否则会给你惊喜 R2只有接口配ip&#xff0c;无任何配置&#xff…

【Err】jetBrains远程开发报错:Failed to exec spawn helper: pid: 18310, exit value: 1

最近双11阿里云打折&#xff0c;买了台服务器做了下远程开发环境&#xff0c;在IDEA远程开发时遇到了个问题&#xff0c;导致项目启动失败&#xff0c;报错如下&#xff1a; JetBrains远程开发报错 Failed to exec spawn helper: pid: 18310, exit value: 1 &#xff08;我改好…

解析SQL 获取表、字段及SQL查询参数

解析SQL 获取表、字段及SQL查询参数 1. 执行效果2. 使用2.1 引入依赖2.2 相关实体2.3 工具类 1. 执行效果 2. 使用 2.1 引入依赖 <!-- sql 解析处理--><dependency><groupId>com.github.jsqlparser</groupId><artifactId>jsqlparser</artifa…

Potrace:一个基于多边形的跟踪算法

Potrace算法通过几个步骤将位图转换为矢量轮廓。 第一步&#xff0c;将位图分解为若干条路径&#xff0c;在黑白区域间形成边界。 在第二步中&#xff0c;每条路径由一个最优多边形逼近。 在第三步中&#xff0c;每个多边形被转换成光滑的轮廓。 在可选的第四步中&#xff0c;通…

【管理运筹学】运筹学“背诵手册”(二) | 对偶理论与灵敏度分析

二、对偶理论与灵敏度分析 用矩阵形式表示原问题和对偶问题&#xff1a; max ⁡ z C X s . t . { A X ≤ b X ≥ 0 \max z\pmb{CX}\\ s.t.\begin{cases} \pmb{AX\leq b} \\ \pmb{X}\geq\pmb{0} \end{cases} maxzCXs.t.{AX≤bX≥0​ 其中 C ( c 1 , c 2 , ⋯ , c n ) , X (…

Java入门篇 之 继承

本篇碎碎念&#xff1a;最近的课程遇到瓶颈了&#xff0c;看的时候感觉自己会了&#xff0c;但是结束仔细一回顾还是一知半解&#xff0c;一点一点来吧&#xff0c;基础必须要打好(自己给自己好的心里暗示&#xff0c;结局一定是好的) 今日份励志文案:慢慢改变&#xff0c;慢慢…

四、Ribbon负载均衡

目录 一、负载均衡流程 1、我通过浏览器直接访问userservice/user/1&#xff0c;无法访问&#xff0c;说明是负载均衡做了相应的处理 2、我们来看一下代码中负载均衡的流程是怎样的 3、图像流程 二、负载均衡策略 1、修改负载均衡策略 &#xff08;方式一&#xff09; &a…

Spring面试题:(七)Spring AOP思想及实现

AOP思想的概念 AOP的实现&#xff1a;动态代理技术 通过spring容器获取目标对象和增强对象&#xff0c;通过动态代理生产代理对象&#xff0c;在目标对象的目标方法执行增强方法&#xff0c;返回生成代理对象给spring容器&#xff0c;在获取bean时则获取代理对象。 JDK代理和…

【源码运行打包】kkFileView 下载与安装

目录导航 1、源码下载2、IDEA部署2.1、克隆代码2.2、配置maven2.3、下载依赖报错2.4、执行maven打包 3、Centos7.9部署启动3.1、环境要求3.2、部署jdk环境3.3、上传部署包3.4、解压部署包3.5、访问测试3.6、解决乱码 4、使用指南5、部署包下载 文件预览服务 kkFileView &#x…

【Spring进阶系列丨第一篇】初识Spring开发

前言 小伙伴们大家好&#xff0c;我是陈橘又青&#xff0c;今天起 《Spring进阶系列》 开始更新。本专栏将涵盖Spring框架的核心概念、配置管理、Web开发、AOP、Boot、Security、Data、Integration和Batch等多个主题。通过理论讲解和实际案例的剖析&#xff0c;帮助读者深入理解…