java学习笔记1

java基础入门

1 初识java

1.1 jdk安装

1.1.1 下载jdk
https://www.oracle.com/java/technologies/downloads/#java8-windows

1.1.2 安装jdk
  • jdk-8u361-windows-x64.exe安装到D:\Program Files\Java\jdk1.8.0_361

  • 安装jre,修改地址到D:\Program Files\Java\jre1.8.0_361

  • jdk安装成功

1.1.3 配置环境变量
  • 选中 我的电脑 点击右键,点击 属性

  • 配置JAVA_HOME

  • 配置CLASSPATH,值为 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib; 其中的点不能少

  • 配置 path 变量

1.1.4 检测java环境
  • win + r 输入 cmd 启动终端,输入 java -version 回车 ,再输入 javac -version

1.2 使用记事本开发java

1.2.1 创建目录
  • 创建目录: F:\worksapce\java114\day01
1.2.2 创建Demo.java
  • 在目录F:\worksapce\java114\day01中创建Demo.java
1.2.3 编写Demo.java
public class Demo{public static void main(String[] args){System.out.println("hello world!");}
}
1.2.4 编译Demo.java
  • win+r 输入 cmd 打开终端
  • 在终端中输入以下命令:
cd /d F:\worksapce\java114\day01
javac Demo.java
  • 在目录F:\worksapce\java114\day01中生产Demo.class文件
1.2.5 执行Demo.class
  • win+r 输入 cmd 打开终端
  • 在终端中输入以下命令:
cd /d F:\worksapce\java114\day01
java Demo
  • 终端中输出:hello world!
1.2.6 java运行过程
  • JVM:java虚拟机, 是用C语言编写的一个软件。主要作用是将字节码文件指令翻译成机器可以识别的指令

  • Java的编译

    Java 的编译通过命令javac(即javac.exe,是在JDK安装bin目录下用纯Java语言编写的可执行文件)生成字节码文件(.class)。 然后在JVM中执行Java程序。

1.3 使用idea开发java项目

1.3.1 创建项目
  • 打开idea > File > New > Project,使用idea的版本是2024.1

1.3.2 创建成功

1.3.3 编写java文件
  • 选中 src 目录,点击鼠标右键 New > Java Class

  • 选中Class 输入类名,回车即可

  • 编辑java代码

1.3.4 执行java文件

  • 执行成功的效果如下

1.4 jad反编译class

1.4.1 打开jad程序

1.4.2 反编译class

2 变量和数据类型

2.1 标识符

2.1.1 定义

​ 在计算机编程语言中,标识符是用户编程时使用的名字,用于给 **变量、常量、函数、语句块、类 ** 等命名,以建立起名称和使用之间的联系。

2.1.2 标识符命名规范
序号规范正确错误
1标识符只能由数字、字母、下划线、$组成hello、hello_12、$refhell%5、get#user
2不能以数字开头name123123name
3不能使用关键字CLASSclass、public、void
4区分大小写name 和 NAME 不同
5建议使用驼峰命名法getUserById、userName

驼峰命名法:

​ 变量名由多个单词组成,首个单词的首字母小写,其它单词的首字母大写:getUserById

2.2 变量

2.2.1 概念

变量 是程序运行中在内存中开辟的一块区域,用于存放程序运行时需要的数据。

2.2.2 变量的定义
  • 第一步: 声明变量,根据数据类型在内存申请空间
// 变量类型 变量名称
int num;
  • 第二步: 赋值,即 “将数据存储至对应的内存空间”
// 变量赋值 = 是赋值运算符
num = 1000;
  • 第一步和第二步可以合并
// 声明变量并赋值( 赋值过程是变量既是变量初始化 )
int num = 1000;
  • 变量的使用
// double 是变量price的数据类型,num的值是1000,num * 1.5 = 1500.0;
double price = num * 1.5; // price = 1500.0
  • 代码
/*** 变量名的声明和使用*/
public class Demo1 {// main方法public static void main(String [] args){// 1. 声明变量int num;// 2. 对变量进行赋值(初始化init)num = 100;// 3. 使用变量num = num + 100;System.out.println(num); // 200}
}

2.3 数据类型

数据类型空间大小取值范围名称
byte (把艾特)1字节8位-128 ~ +127字节整形
int4字节32位-2147483648(-2^31) ~ + 2147483647(2^31-1)整数类型
short2字节16位-32768 (-2^15) ~ + 32767 (+2^15-1)短整型
long8字节64位-2^63 ~ + 2^63-1长整型
float4字节32位浮点数1.4E-45 ~ 3.4E+38 , -1.4E-45 ~ -3.4E+38单精度浮点
double8字节64位浮点数4.9E-324 ~ 1.7E+308, -4.9E-324 ~ -1.7E+308双精度浮点
char2字节‘h’、‘a’、‘1’、‘王’…字符型
boolean4字节数组1字节true(真)、false(假)布尔型
引用数据类型不确定String、Object、枚举、自定义类型…引用数据类型
  • 代码
public class Demo2 {// java中的8个基本数据类型public static void main(String[] str) {// 1. byte(字节) -128~127byte

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

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

相关文章

【JAVA进阶篇教学】第二篇:JDK8中Lambda表达式

博主打算从0-1讲解下java进阶篇教学,今天教学第二篇:JDK8中Lambda表达式。 Lambda 表达式是 Java 8 中引入的一项重要特性,它允许您以更简洁、更紧凑的方式编写匿名函数。Lambda 表达式使得函数式编程在 Java 中变得更加容易和优雅。下面我将…

C++|模板进阶(非类型模板参数+特化)

目录 一、非类型模板参数 二、模板特化 2.1函数模板特化 2.2类模板特化 2.2.1全特化 2.2.2偏特化 三、模板不支持分离编译 四、模板优缺点 一、非类型模板参数 在模板初阶中,所学习的模板的参数是类型形参,但其实还有非类型形参。 类型形参&am…

boa.conf配置详解

boa的配置文件路径:/etc/boa/boa.conf Port 80 # 监听的端口号,缺省值是80 若80被占用,可修改监听端口为其他未占用端口(如:88) Listen 192.68.0.5 # 绑定调用的IP地址,一般注释掉,…

汇编期末复习知识点

参考文献1 第一章 概述 组成 计算机系统由硬件子系统和软件子系统组成。硬件子系统:组成计算机系统的所有电子的,机械的,光学的和磁性的元部件。 计算机中常用进制数表示 十进制(Decimal):数据尾部加一后缀D,如2355D二进制&a…

nginx配置挂载html

目标 很多软件的官方文档,在国内打开很慢,每次都得等很久,看到官方同时提供了html的包,所以想着挂载到本地nginx下,查看会方便很多。 下载官方html文档包,解压到documentation_htmls下 想添加新的文档也是…

Golang基础3-函数、nil相关

函数 需要声明原型支持不定参数 func sum(numbers ...int)int支持返回多值支持递归支持命名返回参数 // 命名返回参数 func add(a, b int) (sum int) {sum a breturn // 这里不需要显式地写出返回值,因为已经在函数签名中声明了命名返回参数 } 支持匿名函数、闭包…

面试十七、list和deque

一、 Deque Deque容器是连续的空间,至少逻辑上看来如此,连续现行空间总是令我们联想到array和vector,array无法成长,vector虽可成长,却只能向尾端成长,而且其成长其实是一个假象,事实上(1) 申请更大空间 (…

快速理解Laravel容器(IOC、DI、Provider、Contract)

源码理解思维的提升 分享一些个人见解。 Laravel里面的某些概念,就像魔术一样,看起来很厉害,当知道魔术怎么变的,就会认为也不过如此。所以不必感觉Laravel里有些概念难以理解。 应当抛除被框架约束思维的枷锁,用PHP…

vuetify3.0+tailwindcss+vite最新框架

1、根据vuetify官网下载项目 安装vuetify项目 2、根据tailwindcss官网添加依赖 添加tailwindcss依赖 3、 配置main.ts // main.ts import "./style.css"4、使用 <template><h1 class"text-3xl font-bold underline">Hello world!</…

解密 Grupo MasMovil 使用 ClickHouse 监控无线网络

本文字数&#xff1a;4151&#xff1b;估计阅读时间&#xff1a;11 分钟 作者&#xff1a;Rodrigo Aguirregabiria Herrero, Grupo MasMovil 审校&#xff1a;庄晓东&#xff08;魏庄&#xff09; 本文在公众号【ClickHouseInc】首发 我们很高兴与大家分享来自西班牙最大的电信…

数据类型总结

1 引言 在计算机的世界里&#xff0c;数据类型是被人类定义出来的&#xff0c;方便人去更好地理解、辨别数据。计算机只能识别二进制数&#xff0c;不可能要求写代码时&#xff0c;只是输入一些0/1的东西。通过定义数据类型&#xff0c;可以让人和计算机更好地“沟通”&#x…

如何评价微软发布的Phi-3,手机都可以运行的小模型

前几天才刚刚发布了Llama 3&#xff0c;今天微软就出手了&#xff0c;发布了小而精的phi-3 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 刚刚发布的Phi-3系列小模型技术报告&#xff0c;引起AI圈热议。 添加图片注释&#xff0c;不超过 140 字&#x…

光接入网络的超宽带半导体光放大器

添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 新颖的双有源层结构获得宽增益光谱&#xff0c;应用于多波单纤双向光放大 ----翻译Xiao Sun等人2016年撰写的文章&#xff0c;文中给出了宽光谱SOA的一种新颖的结构设计方法和仿真结果&#xff0c;但并未给…

蓝海彤翔作为协办单位参加2024陵水全球招商大会

4月16日&#xff0c;2024 陵水全球招商大会在海口第四届中国国际海南消费品博览会期间举办。蓝海彤翔作为本次大会的协办单位&#xff0c;将海南蓝陵数字科技有限公司与海南陵水国际数字内容产业平台落户陵水&#xff0c;标志着蓝海彤翔在数字内容产业领域迈出了坚实的一步&…

上位机图像处理和嵌入式模块部署(树莓派4b与视觉slam十四讲)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 实际使用中&#xff0c;树莓派4b是非常好的一个基础平台。本身板子价格也不是很贵&#xff0c;建议大家多多使用。之前关于vslam&#xff0c;也就是…

【黑马点评Redis——003优惠券秒杀4——消息队列Stream】

1. 目前还存在的问题 设置的阻塞队列可能会超出最大长度系统重启会导致阻塞队列中的信息消失&#xff0c;可能会出现问题 2. 消息队列 消息队列 (Message Queue)。 字面意思就是存放消息的队列。最简单的消息队列模型包括3个角色消息队列:存储和管理消息&#xff0c;也被称为…

甲醛传感器ETO-A1在建筑装修过程中甲醛监测的重要作用

随着建筑装修行业的快速发展&#xff0c;甲醛污染问题逐渐受到人们的关注。甲醛是一种常见的室内空气污染物&#xff0c;主要来源于建筑装修过程中使用的各种材料。为了保障人们的健康和安全&#xff0c;甲醛传感器在装修过程中的监测作用显得尤为重要。英国Alphasense公司推出…

矽塔SA6288Q栅极驱动器,可替代峰绍FD6288Q

SA6288 是一款集成了三个独立半桥栅极驱动器&#xff0c;特别适合于三相电机应用中高速功率MOSFET 和 IGBT 的栅极驱动。可在高达250V 电压下工作。 SA6288内置 VCC 和 VBS 欠压&#xff08; UVLO &#xff09;保护功能&#xff0c;防止功率管在过低的电压下工作&#xff0c;…

记一次 Java 应用内存泄漏的定位过程

问题现象 最近&#xff0c;笔者负责测试的某个算法模块机器出现大量报警&#xff0c;报警表现为机器CPU持续高占用。该算法模块是一个优化算法&#xff0c;本身就是CPU密集型应用&#xff0c;一开始怀疑可能是算法在正常运算&#xff0c;但很快这种猜测就被推翻&#xff1a;同…

springboot基于点餐码 二维码在线点餐系统vue.js+java

Maven: 项目管理和构建自动化工具&#xff0c;用于java项目。 java: 广泛使用的编程语言&#xff0c;适用于构建跨平台应用。 Springmvc:从而在使用Spring进行WEB开发时&#xff0c;可以选择使用Spring的Spring MVC框架。 MyBatis: java持久层框架&#xff0c;支持定制化SQL、存…