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();    // 输入的是stringSystem.out.println("请输入性别:");String sex = sc.next();    // 输入的是stringSystem.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++中的引用,指向的是同一块地址。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GZ038 物联网应用开发赛题第7套

2023年全国职业院校技能大赛 高职组 物联网应用开发 任 务 书 (第7套卷) 工位号:______________ 第一部分 竞赛须知 一、竞赛要求 1、正确使用工具,操作安全规范; 2、竞赛过程中如有异议,可向现场考评…

uniapp插件开发

安装android studio:安装目录下bin下的此文件,是用来修改分配给android studio的占用内存。 Android 11足够用。 创建新项目: 目录结构介绍: UI组件介绍:在设计程序界面时可以使用可视化拖拽的方式,没有必要…

No210.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

并发编程由浅及深(一)

并发编程重要吗?当然重要,因为并发在我们的项目中真实存在,如果你不能充分了解它那么很可能造成严重的生产事故。最近隔壁项目组出了一个问题,每次请求接口之后都发现线程固定增加了5个,而且线程数一直增加没有减少&am…

三、Eureka注册中心

目录 一、作用及调用方式 二、搭建eureka注册中心 三、注册user-service和order-service 四、新增实例 五、服务拉取 六、总结 一、作用及调用方式 在服务提供者启动时,它会向eureka注册中心提供自己的信息,并每30秒进行一次刷新eureka注册中心保存…

Java Web——前端HTML入门

目录 HTML&CSS3&JavaScript简述 1. HTML概念 2. 超文本 3. 标记语言 4. HTML基础结构 5. HTML基础词汇 6. HTML语法规则 7. VS Code 推荐使用的插件 8. 在线帮助文档 HTML&CSS3&JavaScript简述 HTML 主要用于网页主体结构的搭建,像一个毛坯…

竞赛 题目:基于python的验证码识别 - 机器视觉 验证码识别

文章目录 0 前言1 项目简介2 验证码识别步骤2.1 灰度处理&二值化2.2 去除边框2.3 图像降噪2.4 字符切割2.5 识别 3 基于tensorflow的验证码识别3.1 数据集3.2 基于tf的神经网络训练代码 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基于pyt…

驾驭数据与人工智能是人才培养的时代命题

2023年11月11日全国近千名计算机教育工作者共聚“海南博鳌亚洲论坛大酒店”,以“产教融合,供需共赢”为主题,“服务国家创新驱动发展,顺应全球新一轮科技革命和产业变革的趋势,培养集学科、技术和产业需求相融合的IT新…

《红蓝攻防对抗实战》十一.内网穿透之利用SSH协议进行隧道穿透

利用DNS协议进行隧道穿透 一.前言二.前文推荐三. 利用SSH协议进行隧道穿透1.SSH隧道-本地端口转发2.SSH隧道-远程端口转发3.SSH隧道-动态端口转发 四.本篇总结 一.前言 SSH(Secure Shell)协议是一种加密的网络传输协议,它可以在不安全的网络…

Vue学习day01:追风记事本

文章目录 一、插值表达式二、Vue常用指令2.1 内容渲染指令2.2 条件渲染指令2.3 事件绑定指令2.4 属性绑定指令2.5 列表渲染指令2.6 双向绑定指令 三、案例:追风记事本 一、插值表达式 插值表达式是一种Vue的模板语法,我们可以用插值表达式渲染出Vue提供的…

数据库管理-第116期 Oracle Exadata 06-ESS-下(202301114)

数据库管理-第116期 Oracle Exadata 06-ESS-下(202301114) 距离上一次正儿八经的技术分享又过了整整一周了,距离上一期Exadata专题文章也过了11天了,今天一鼓作气把ESS写完,毕竟明天又要飞北京了。 1 Smart Scan 其…

Istio学习笔记-体验istio

参考Istio 入门(三):体验 Istio、微服务部署、可观测性 - 痴者工良 - 博客园 (cnblogs.com) 在本章中,我们将会学习到如何部署一套微服务、如何使用 Istio 暴露服务到集群外,并且如何使用可观测性组件监测流量和系统指标。 本章教程示例使用…