java基础1(黑马)
一、初识Java
1.Java背景知识
1)Java是美国SUN公司在1995年推出的一门计算机高级编程语言。
2)Java早期名称为OAK,后来才改为Java。
3)Java之父:詹姆斯·高斯林。
4)2009年,SUN公司被Oracle公司(甲骨文公司)收购。
2.Java的应用
1)桌面应用的开发:各种税务软件,IDEA;
2)服务器系统的开发:应用的后台;3)大数据开发:hadoop
4)游戏开发:我的世界 Minecraft5)移动应用开发:android、医疗设备
6)企业级应用开发:微服务,大型互联网应用。市场非常认同Java开发。
公司内部的办公自动化软件、教学管理的软件、大型互联网的应用开发、京东淘宝。
3.Java的技术体系
| 技术体系 | 说明 |
| JAVA SE(JAVA STANDARD EDITION) | java技术的核心和基础 |
| JAVA EE(JAVA ENTERPRISE EDITION) | 企业级应用开发的一套解决方案 |
| JAVA ME(JAVA MICRO EDITION) | 针对移动端设备应用的解决方案 |
4.搭建Java的开发环境
1)Java的产品叫JDK(Java开发工具包),需要安装JDK才能使用Java
注:JDK有些版本是LTS版(长期支持版),指的是Java会对这些版本负责,有问题会长期支持
目前LTS版有Java8 Java11 Java17
获取JDK 直接到Oracle官网下载
2)cmd常用命令
| 常用命令 | 作用 |
| D: | 切换到某个盘下:D:,C: |
| dir | 查看当前路径下的文件信息 |
| cd | 进入单级目录:cd itheima 进入多级目录:cd D:\itheima\JavaSE\第一天 回退到上一级目录:cd.. 回退到盘符根目录:cd\ |
| cls 清屏 |

3)JDK组成
JVM(Java Virtual Machine):Java 虚拟机,真正运行程序的地方。
核心类库:Java自己写好的程序,给程序员自己的程序调用的。
JVM和核心类库称为JRE(Java Runtime Environment):Java的运行环境。
JDK(Java Development Kit):Java开发工具。
4)步骤:
1)javac编译Helloworld.java。
2) java运行HelloWorld,送到JVM虚拟机中运行。
3)在JVM中会调用核心类库。
注:Java可跨平台工作,即一次编译、到处可用。因为Sun公司为不同平台提供了JVM虚拟机。程序只要开发一次,想在不同平台上跑,就安装相应平台的虚拟机。
5.集成开发环境
集成开发环境(IDE,Integrated Development Environment)把代码编写、编译、执行等多种功能综合在一起的开发工具,可以进行代码智能提示、错误提示、项目管理等。
常见的IDE工具有:Eclipse、MyEclipse、Intellij IDEA、JBuilder、NetBeans等。
企业中也推荐我们使用Intellij IDEA工具开发程序。
Intellij IDEA 一般简称IDEA,在代码错误提醒,智能代码补全等方面表现得都非常优秀,是进行Java开发时,很多企业首选的开发工具。
IDEA下载安装:
下载链接:https://www.jetbrains.com/idea/
使用IDEA开发第一个java程序详见黑马p11(Java入门基础视频教程,java零基础自学就选黑马程序员Java入门教程(含Java项目和Java真题)_哔哩哔哩_bilibili)
1)总结:使用idea开发java程序的步骤是:
project->module->package->class
project中可以创建多个module
module中可以创建多个package
package中可以创建多个class
注:idea中的java程序是自动编译和自动执行的,不需要我们再手动输入java和javac。
2)IDEA常用快捷键操作
| 快捷键 | 功能效果 |
| main/psvm、sout、... | 快速键入相关代码 |
| Ctrl + D | 复制当前行数据到下一行 |
| Ctrl + Y | 删除所在行,建议用Ctrl + x |
| Ctrl+ALT+L | 格式化代码 |
| ALT+SHIFT+↑ ALT+SHIFT+↓ | 上下移动当前代码 |
| Ctrl+/ Ctrl+Shift+/ | 对代码进行注释 |
6.注释
1)种类
1.单行注释; //注释内容
2.多行注释; /* 注释内容 */
3.文档注释; /** 注释内容 */ (里面的注释内容可以提取到一个程序说明文档中去)
二、Java入门
1.字面量
:计算机是用来处理数据的,字面量就是告诉程序员,数据在程序中的书写格式。
常用数据:

package cn.chang.literal;
public class LiteralDemo { public static void main(String[] args) { // 目标:掌握常见数据在程序中的书写格式// 1. 整数 System.out.println(666);// 2. 小数 System.out.println(99.5);// 3. 字符,有且只能有一个字符 System.out.println('a'); System.out.println('0'); System.out.println('中'); System.out.println(' '); // 空字符 System.out.println('\n'); // 换行,ln是换行,再\n,就换了两行 System.out.println('\t'); // 代表一个tab// 4. 字符串 System.out.println("我爱你中国"); System.out.println(""); System.out.println(" "); System.out.println("我");// 5. 布尔值 true false System.out.println(true); System.out.println(false); }}
2.变量
变量的定义格式:

例:
package cn.chang.variable;public class VariableDemo1 {public static void main(String[] args) {// 目标:认识变量、掌握使用变量的好处、变量的特点、应用场景// 1. 定义一个整形变量// 数据类型 变量名 = 数据;// 等号在Java中是赋值的意思,从右往左看int age = 23;System.out.println(age);// 记住一个人的成绩double score = 99.5;System.out.println(score);System.out.println("--------------------"); // 字符串// 2. 使用变量的好处,便于扩展和维护int number = 666;System.out.println(number);System.out.println(number);System.out.println(number);}
}
变量中装的数据是可以被替换的:
package cn.chang.variable;
public class VariableDemo1 { public static void main(String[] args) { // 目标:认识变量、掌握使用变量的好处、变量的特点、应用场景// 3. 变量的特点:里面装的数据是可以被替换的 int age2 = 18; System.out.println(age2); age2 = 19; // 赋值,从右边往左执行 System.out.println(age2); age2 = age2 + 1; System.out.println(age2); }}
变量使用的注意事项:
1)变量要先被声明才能使用:
2)变量是什么数据类型,就应该用来装什么类型的数据,否则报错;
3)变量从定义开始到}截止范围内有效,且同一个范围内,定义多个变量,他们的名称不能相同;
4)变量定义的时候可以不赋初值,但在使用的时候,变量必须有值,否则报错。
3.关键字和标识符
关键字:Java语言中自己用到的一些词,有特殊作用,我们称之为关键字。如public、class、int、double...
注意:关键字是Java用了的,我们就不能用来作为:类名、变量名、否则会报错。
标识符:就是名字,我们写程序的时候,会写一些名字,如类名、变量名等等都是标识符。
标识符的要求:
1)基本组成:有数字、字母、下划线和美元符等组成。
2)见名知意。
3)强制要求:不能以数字开头,不能以关键字作为名字,且是区分大小写的。
标识符的建议规范:
1)变量名称:满足标识符规范,同时建议使用英文,有意义,首字母小写,满足驼峰模式。如
int studentNumber = 59;
2)类名称: 满足标识符规范,同时建议全英文,有意义,首字母大写,满足驼峰模式,如:
HelloWorld, Student
相关文章:
java基础1(黑马)
一、初识Java 1.Java背景知识 1)Java是美国SUN公司在1995年推出的一门计算机高级编程语言。 2)Java早期名称为OAK,后来才改为Java。 3)Java之父:詹姆斯高斯林。 4)2009年,SUN公司被Oracle公…...
ES6 对象扩展:对象简写,对象属性 表达式,扩展运算符 ...,Object.assign,Object.is,用法和应用场景
1. 对象属性简写 1.1 基本语法 // 传统写法 const name John; const age 25; const user {name: name,age: age };// ES6 简写语法 const user {name,age };1.2 实际应用场景 // 1. 函数返回对象 function createUser(name, age, email) {return {name,age,email}; }// …...
2025 持续防范 GitHub 投毒,通过 Sharp4SuoExplorer 分析 Visual Studio 隐藏文件
在2024年底的网络安全事件中,某提权工具被发现植入后门,攻击者利用 .suo 文件作为隐蔽的攻击方式。由于 .suo 文件是 Visual Studio 项目的隐藏配置文件,通常不为安全研究人员所关注,因此为攻击者提供了潜在的攻击渠道。 初步调查…...
PCB走线宽度与过流能力参考
我们PCB走线,线宽与允许通过电流的大小是什么样的?几个因素 1、允许的温升:如果能够允许的铜线升高的温度越高,那么允许通过的电流自然也就越高 2、走线的线宽:线越宽 ,导线横截面积越大,电阻…...
电商项目-分布式事务(四)基于消息队列实现分布式事务
基于消息队列实现分布式事务,实现消息最终一致性 如何基于消息队列实现分布式事务? 通过消息队列实现分布式事务的话,可以保证当前数据的最终一致性。实现思路:将大的分布式事务,进行拆分,拆分成若干个小…...
g++ -> make -> cmake(草稿)
1 Windows上安装mingw 2 构建一个 c 项目 3 g 编译 4 make 编译 5 cmake 编译...
JSON常用的工具方法
前言: 在日常开发中,JSON 数据的处理是常见的需求。无论是数据转换、格式化还是与其他格式的互转,掌握一些常用的工具方法可以大大提高开发效率。本文将介绍一些实用的 JSON 操作方法,帮助你快速上手。 JSON常用的工具方法 1.json字符串转换…...
【Kubernetes Pod间通信-第2篇】使用BGP实现Pod到Pod的通信
Kubernetes中Pod间的通信 本系列文章共3篇: 【Kubernetes Pod间通信-第1篇】在单个子网中使用underlay网络实现Pod到Pod的通信【Kubernetes Pod间通信-第2篇】使用BGP实现Pod到Pod的通信(本文介绍)【Kubernetes Pod间通信-第3篇】Kubernetes中Pod与ClusterIP服务之间的通信…...
[权限提升] Windows 提权 维持 — 系统错误配置提权 - Trusted Service Paths 提权
关注这个专栏的其他相关笔记:[内网安全] 内网渗透 - 学习手册-CSDN博客 0x01:Trusted Service Paths 提权原理 Windows 的服务通常都是以 System 权限运行的,所以系统在解析服务的可执行文件路径中的空格的时候也会以 System 权限进行解析&a…...
8. k8s二进制集群之Kubectl部署
创建kubectl证书请求文件生成admin证书文件复制admin证书到指定目录生成kubeconfig配置文件接下来完成kubectl配置文件的角色绑定【扩展】kubectl命令补全操作继续上一篇文章《k8s二进制集群之Kube ApiServer部署》下面介绍一下k8s中的命令行管理工具kubectl。 通过kubectl可以…...
初学 Xvisor 之理解并跑通 Demo
官网:https://www.xhypervisor.org/ quick-start 文档:https://github.com/xvisor/xvisor/blob/master/docs/riscv/riscv64-qemu.txt 零、Xvisor 介绍 下面这部分是 Xvisor 官方的介绍 Xvisor 是一款开源的 Type-1 虚拟机管理程序,旨在提供一…...
深度内容运营与开源AI智能名片2+1链动模式S2B2C商城小程序在打造种草社区中的应用研究
摘要:移动互联网的迅猛发展极大地改变了消费者的购物行为和消费习惯,传统的购物体验已难以满足用户日益增长的个性化需求。在这种背景下,深度内容运营和实时互动成为提升用户购物体验、影响用户购物行为的重要手段。同时,开源AI智…...
RNN/LSTM/GRU 学习笔记
文章目录 RNN/LSTM/GRU一、RNN1、为何引入RNN?2、RNN的基本结构3、各种形式的RNN及其应用4、RNN的缺陷5、如何应对RNN的缺陷?6、BPTT和BP的区别 二、LSTM1、LSTM 简介2、LSTM如何缓解梯度消失与梯度爆炸? 三、GRU四、参考文献 RNN/LSTM/GRU …...
音频录制一般在什么情况下会选择保存为PCM?什么情况会选择保存为WAV?
在音频开发中,选择保存为 PCM 或 WAV 格式取决于具体的应用场景和需求。以下是两种格式的特点以及适用场景的分析: PCM 格式 特点: 原始音频数据: PCM 是未压缩的原始音频数据,没有任何文件头或元数据。数据直接以二进…...
C#常用744单词
1.visual 可见的 2.studio 工作室 3.dot 点 4.net 网 5.harp 尖端的,锋利的。 6.amework 骨架,构架,框架 7.beta 测试版,试用版 8.XML(全称:eXtensible Markup Language)…...
如何理解算法的正确性?
循环不变式(Loop Invariant) 是算法设计和程序验证中的一个核心概念,用于证明循环的正确性。它是在循环的每次迭代开始和结束时均保持为真的一种条件或性质,帮助开发者确保循环按预期工作,最终达到目标状态。 循环不变…...
蓝桥杯试题:排序
一、问题描述 给定 nn 个正整数 a1,a2,…,ana1,a2,…,an,你可以将它们任意排序。现要将这 nn 个数字连接成一排,即令相邻数字收尾相接,组成一个数。问,这个数最大可以是多少。 输入格式 第一行输入一个正整数 nnÿ…...
实验十一 Servlet(二)
实验十一 Servlet(二) 【实验目的】 1.了解Servlet运行原理 2.掌握Servlet实现方式 【实验内容】 改造实验10,引入数据库,创建用户表,包括用户名和密码:客户端通过login.jsp发出登录请求,请求…...
第五天 初步了解ArkTS和ArkUI
初步了解ArkTS和ArkUI,可以从以下几个方面进行概述: 一、ArkTS简介 定义与关系: ArkTS是HarmonyOS(鸿蒙系统)优选的主力应用开发语言。它基于TypeScript(TS)进行扩展,兼容TS的所有特…...
java中的锁面试题
1、多线程中 synchronized 锁升级的原理是什么? synchronized 是JVM层面的锁,是 Java 关键字,通过 monitor 对象来完成,synchronized 的实现涉及到锁的升级,具体为无锁、偏向锁、自旋锁、重量级锁 synchronized 锁升级…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
Appium下载安装配置保姆教程(图文详解)
目录 一、Appium软件介绍 1.特点 2.工作原理 3.应用场景 二、环境准备 安装 Node.js 安装 Appium 安装 JDK 安装 Android SDK 安装Python及依赖包 三、安装教程 1.Node.js安装 1.1.下载Node 1.2.安装程序 1.3.配置npm仓储和缓存 1.4. 配置环境 1.5.测试Node.j…...
大模型真的像人一样“思考”和“理解”吗?
Yann LeCun 新研究的核心探讨:大语言模型(LLM)的“理解”和“思考”方式与人类认知的根本差异。 核心问题:大模型真的像人一样“思考”和“理解”吗? 人类的思考方式: 你的大脑是个超级整理师。面对海量信…...
从数据报表到决策大脑:AI重构电商决策链条
在传统电商运营中,决策链条往往止步于“数据报表层”:BI工具整合历史数据,生成滞后一周甚至更久的销售分析,运营团队凭经验预判需求。当爆款突然断货、促销库存积压时,企业才惊觉标准化BI的决策时差正成为增长瓶颈。 一…...
电脑定时关机工具推荐
软件介绍 本文介绍一款轻量级的电脑自动关机工具,无需安装,使用简单,可满足定时关机需求。 工具简介 这款关机助手是一款无需安装的小型软件,文件体积仅60KB,下载后可直接运行,无需复杂配置。 使用…...
