【我的Java学习笔记-2】

程序初体验

JDK的安装目录

  1. bin:该路径下存放了各种工具命令。其中比较重要的有:javac和java(重点掌握)
  2. conf:该路径下存放了相关配置文件。
  3. include:该路径下存放了一些平台特定的头文件。
  4. jmods:该路径下存放了各种模块。
  5. legal:该路径下存放了各模块的授权文档。
  6. lib:该路径下存放了工具的一些补充JAR包。

首个案例编写

  1. 用记事本编写程序
  2. 编译文件
  3. 运行程序
    新建记事本,命名为HelloWorld,后缀名改为java
public class Hellow{
	public static void main(String[] args){
		System.out print("HelloWorld");
	}
}

[!NOTE] 盘符操作
Win 键+R 输入cmd(不区分大小写)进入操作界面

1.输入F: 进行盘符对的切换

2.切换盘符后,找到对应新建的Java文件的路径,在操作界面上输入cd 加上 对应的路径,即可将指定到对应路径进行操作。

3.输入javac HelloWorld.java 对该文件进行编译操作(如果没有出现语法等问题,则页面不会出现任何提示,打开文件夹可以发现生成了一个class文件,也叫字节码文件)

4.输入java HelloWorld运行该文件
5.注意后缀名

javac:javac是JDK提供的编译工具,我们可以通过这个工具,把当前路径下的HelleW/erld.java文件编译成class文件
java:java也是JDK提供的一个工具。作用就是用来运行代码的。

[!NOTE] 为什么要配置Path环境变量
我们想要在任意的目录下都可以打开指定的软件就可以把软件的路径配置到环境变量中。

Path 环境变量的配置

  1. 先配置JAVA_HOME.(路径不带bin)👉 接入工具所在的文件目录
  2. 在配置Path。(%JAVA_HOME%\bin)👉 引用JAVA_HOME然后拼接bin
小拓展

部分win10的电脑有一个小bug。当你重启之后,配置的环境变量会失效。
解决方案:
1,JAVA_HOME还是照样配置
2,在path当中,就不要引用JAVA_HOME了。
直接写完整路径。比如E:\develop\jdk\bin

Java可以干什么?

三大平台
1.Java SE
2.Java ME
3.Java EE

Java SE

Java 语言的(标准版),用于桌面应用的开发,是其他两个版本的基础。
目的:为今后要从事的Java EE 开发,打基础,

桌面应用

用户只要打开程序,程序的界面会让用户在最短的时间内找到他们需要的功能,同时主动带领用户完成他们的工作并得到最好的体验。

Java ME

Java语言的小型版本,用于嵌入式电子设备或者小型移动设备。

Java EE

Java语言的企业版,用于Web方向的网站开发。该领域的NO.1。
网站开发:浏览器+服务器
![[Pasted image 20240419163931.png]]

JDK&JRE

JDK(编写代码)

全称:java开发工具包(Java Development kit)
包括:JVM(虚拟机)、核心类库(Java已经写好的东西)、开发工具(javac、java、jdb、jhat…)

JRE(运行代码)

全程:Java 的运行环境(Java Runtime Environment)
包括:JVM 、核心类库、运行工具

基础概念

注释

对代码的解释说明,注释不参与编译和运行
单行 //注释信息
多行 /*注释信息*/–不能嵌套
文档注释 /**注释信息*/
提供说明文档,不用看代码,直接看文字即可

public class Filename{}
//此处的Filename叫类名,需要与创建的文档同名,区分大小写。
public static void main(Steing[] args)
//叫做main方法,表示程序的入口,也就是程序的起始点
System.out.println(“HelloWorld”);
/*这一句是Java中的输出(打印)语句,会把小括号中的内容进行打印输出,注意后面又分号哦,每一句都需要加上(;)表示语句的结束*/
tips
各种括号和多行注释以及引号这些成对出现的符号,先把一整对打好,再返回中间进行输入,可以避免忘记或者缺少,减少后续查找的麻烦。

关键字

特点:被Java赋予特定涵义的英文单词
	1.关键字的字母全部小写
	2.IDE(集成开发)对关键字都会有特殊颜色的标记
[[class]]
	用于创建一个类,类是Java的最基本单元,Java中全部内容都必须放置在类中,class后面紧跟类名
		类名--以大写开头的名词
		类名的定义规则很宽松,名字必须以字母开头,后面可以跟字母和数字任意组合,长度基本无限制
		不可以用Java中的保留字(已经被规定好用途的字,如:class、int等)否则报错
		小知识--骆驼命名法(camel case)
			名字由多个单词组成,每个单词的第一个字母都应该大写,以自身为例(Camel Case)
打印内容的呈现:
public class Helloworld {  
    public static void main(String[] args) {  
        System.out.println(1);  //整数  
        System.out.println(-1); //整数  
  
        System.out.println(0.5);    //小数  
        System.out.println(-0.5);   //小数  
  
        System.out.println("yhb");  //字符串--用的是双引号哦
        System.out.println("小姚");  //字符串  
  
        System.out.println('男');  //字符,注意,字符只有单个,而且用的是单引号
        System.out.println('女');   //字符  
  
        System.out.println(true);   //布尔  
        System.out.println(false);  //布尔  
  
        System.out.println("null"); //空--不能直接打印,只能用字符串的形式进行打印  
    }  
}

\t制表符
补齐八位的长度
一个\t相当于八位个空格键长度,每个空格位只能输入一个字符
比方说我在()中输入以下代码

"abcd"+"\t"+"123"

12345678
abcd

“abcd”+"\t"这一串就会以表格上方的样式输出,不足八位,用空隔自动补足八位。这样子可以让打印出来的字符变得整齐,如下图
[[![[Pasted image 20240313153006.png]]
同时要知道,制表符只是和前面的字符串有关系,和后面的无关奥。那要是输入的超过八位了怎么办,制表符会自动在八位后面补上四个空格,如果要好看的话,可能就要拆分字符串

基本数据类型

1、基本数据类型:整型、浮点型、字符型、布尔型
整数类型 —— byte、short、int、long,
浮点类型 —— float、double
字符类型 —— char
布尔类型 —— boolean
空类型——null
2、引用数据类型:接口(interface)、数组([ ])、类(class)

变量

使用场景: 当某个数据经常发生改变时,我们也可以用变量存储。当数据变化时,只要修改变量里面记录的值即可
定义格式:数据类型 变量名 = 数据值;
数据类型:空间中储存的数据的限制,如:小数、整数等
变量名:为空间起名字
数据值:存在空间里面的数值

public class VariableDemo1{
    public static void main(String[] args){
   	  int a = 10; //等号是赋值的意思,把右边的值赋给左边
   	  System.out.println(a);
    }
}

变量的使用方法

 public class VariableDemo2{
	 public static void main(String[] args){
			 //基本用法
			int a = 10;//定义变量在输出 
			System.out.println(a); //10

			//变量参与计算
			int b = 30; //不可以重新定义为变量a,否则报错
			int c = 20;
			System.out.println(b+c)//50

			//修改变量记录的值
			a = 50; //修改不是重新定义
			Symtem.out.println(a);//50
	 }
 }

注意事项:

  • 只能存一个值
  • 变量名不允许重复定义
  • 一条语句可以定义多个变量
  • 变量在使用之前一定要进行赋值
  • 变量的作用域
//一条语句可以定义多个变量
int  d = 100,e = 200, f = 300;
System.out.println(d);
System.out.println(e);
System.out.println(f);

//使用前要赋值
//int g;  //报错
//g = 500;  //这样赋值奇怪
//建议以后定义变量的时候直接赋值
System.out.println(g);

[!不同进制在代码中的表现形式–jdk7的特性]
二进制:由0和1组成,代码中以0b开头(不区分大小写)

十进制:由0~9组成,前面不加任何前缀

八进制:由0~7组成,代码中以0开头

十六进制:由09还有af组成,代码中以0x开头

public class HelloWorld{
	public static void mian(String[] args){
		System.out.println(17);//十进制
		System.out.println(017);//八进制
		System.out.println(0b123);//语法错误,二进制中没有2和3
		System.out.println(0x123);//十六进制
		
	}
}

小知识–汉字在计算机中的储存规则

  1. GB2312编码:1981年5月1日发布的简体中文汉字编码国家标准。收录7445个图形字符,其中包括6763个汉字。
  2. BIG5编码:台湾地区繁体中文标准字符集,共收录13053个中文字,1984年实施。
  3. GBK编码:2000年3月17日发布,收录21003个汉字,包含国家标准GB13000-1中的全部中日韩汉字,和BIG5编码中的所有汉字。windous操作默认
  4. Unicode编码(万国码表):国际标准字符集,它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言、跨平台的文本信息转换。

java的基础语法

数据类型

基本数据类型–四类八种
![[Pasted image 20240420112229.png]]

public class VariableDemo3
	public static void main(String[] args){
	byte b = 10;//赋值时不可以超过取值范围
	System.out.println(b);//10

	short s = 20;
	System.out.println(s);//20

	int i = 30;
	System.out.println(i);//30

	//long类型比较特殊
	//long n = 999999999;//报错
	long n = 9999999999L;
	/*
	如果要定义long类型的变量,在数据值的后面需要加一个工作为后缀;可以是大写的,也可以是小写的。但是为了方便分辨,建议用大写
	*/
	System.out.println(n);

	//flort
	float f = 10.1F;//注意同样需要结尾加字母
	System.out.println(f);

	double d = 20.2;//double变量赋值不需要加字母
	System.out.println(d);

	char c = '中'//英语单引号
	System.out.println(c);

	boolean o = ture;
	System.out.println(o);

	}

取值范围大小关系:
double > float > long > int > short > byte

标识符

给类、方法、变量等起名字

命名规则

硬性要求

  • 由数字、字母、下划线()和美元符($)组成
  • 不能以数字开头
  • 不能是关键字
  • 区分大小写

软性建议–见名知意
小驼峰命名法:方法、变量
规范1:标识符是一个单词的时候,全部小写
范例1:name
规范2:标识符由多个单词组成的时候,第一个单词首字母小写,他单首字母大写
范例2:firstName
大驼峰命名法:类名
规范1:标识符是一个单词的时候,首字母大写
范例1:Student
规范2:标识符由多个单词组成的时候,每个单词的首字母大写
范例2:GoodStudent

键盘录入

让我们的变量更加灵活
Java帮我们写好一个类叫Scanner,这个类就可以接收键盘输入的数字。
步骤一: 导包-- Scanner这个类在哪

import java.util.Scanner;//导包的动作必须出现在类定义的上边。

步骤二: 创建对象 … 表示我要开始用Scanner这个类了

Scanner s = new Scanner(System.in);//这个格式里面,只有s是变量名,可以变,其他的都不允许变

步骤三: 接收数据 … 真正开始干活了

int i = sc.nextInt();//左面这个格式里面,只有i是变量名,可以变,其他的都不允许变。

完整代码展示:

import java.util.Scanner;//导包

public class ScannerDemo1{
	public static void main(String[] args){
		//创建对象
		System.out.println(请输入整数);
		Scanner s = new Scanner(System.in);
		int i = s.nextInt();//接收数据

		System.out.println(i);
	}
}

IDEA

IDEA中的第一个代码

项目结构介绍

project(项目)→module(模块)→package(包)→class(类)

流程
  1. 新建项目
  2. File → 项目结构 → 新建java模块
  3. 右击src,新建包
  4. 右击建好的包,新建class(主入口会自动与你的class命名一致)

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

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

相关文章

亿道三防onerugged|三防车载电脑在港口货柜车上的应用

作为一个专业人员,我深知在港口货柜车运输中,三防车载电脑的应用对于提高工作效率和解决实际问题的重要性。亿道三防onerugged系列产品的三防车载电脑以其卓越的功能特点和可靠性,为港口货柜车运输带来了深远的影响。 首先,三防车…

BUUCTF--web(1)

1、[极客大挑战 2019]Http1 1.http报文请求: 1、请求行: 第一部分是请求方法,常见包括GET、POST、OPTIONS(我目前还没有见过我是菜鸡) 第二部分是url 第三部分是HTTP协议(http(Hypertext transfer protocol)超文本传…

c++多文件,cmakelist编写简单示例

记录下c多文件cmakelist编写流程&#xff1a; 目录结构大致如下&#xff1a; 1、swap.h #include <iostream> #include <vector> #include <string> using namespace std;void swap(int *a,int *b); 2、swap.cpp #include "swap.h"void swap(…

【Linux学习】​​学习Linux的准备工作和Linux的基本指令

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

iOS - 多线程-读写安全

文章目录 iOS - 多线程-读写安全1. 多读单写1.1 场景1.2 实现方案1.2.1 pthread_rwlock&#xff1a;读写锁1.2.1.1 示例 1.2.2 dispatch_barrier_async&#xff1a;异步栅栏调用1.2.2.1 示例 iOS - 多线程-读写安全 假设有一个文件&#xff0c;A线程进行读取操作&#xff0c;B…

【Linux】基础指令

文章目录 基础指令1. pwd 指令2. cd 指令3. ls 指令4. touch 指令5. mkdir 指令6. rmdir 和 rm 指令7. man 指令8. cp 指令9. mv 指令10. cat 指令11. more 和 less 指令12. head 和 tail 指令13. date 指令14. cal 指令15. find 指令16. grep 指令18. zip 和 unzip 指令19. ta…

Unity打开Android文件管理器并加载文件

1、在AssetStore商店中加入免费插件 2、调用代码 3、使用UnityWebRequest加载路径数据

RabbitMQ(高级)笔记

一、生产者可靠性 &#xff08;1&#xff09;生产者重连&#xff08;不建议使用&#xff09; logging:pattern:dateformat: MM-dd HH:mm:ss:SSSspring:rabbitmq:virtual-host: /hamllport: 5672host: 192.168.92.136username: hmallpassword: 123listener:simple:prefetch: 1c…

【问题实操】银河高级服务器操作系统实例分享,配置hugepages启动异常

1.问题现象 某运营商国产服务器操作系统项目&#xff0c;部署Kylin-Server-0524-aarch64服务器系统&#xff0c;内核从4.19.90-24.4升级到4.19.90-25.14。在grub中配置huagepages大页内存后&#xff0c;系统在内核启动阶段黑屏&#xff0c;只显示一个光标。grub配置如下图&…

Springboot+Vue项目-基于Java+MySQL的商业辅助决策系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

深度学习论文: MobileNetV4 - Universal Models for the Mobile Ecosystem及其PyTorch实现

深度学习论文: MobileNetV4 - Universal Models for the Mobile Ecosystem及其PyTorch实现 MobileNetV4 - Universal Models for the Mobile Ecosystem PDF: https://arxiv.org/pdf/2404.10518.pdf PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTorch代码: ht…

Post请求中常见的Content-Type类型

Post请求中常见的Content-Type类型的结构 &#xff08;1&#xff09;application/x-www-form-urlencoded 这是浏览器原生的form表单类型&#xff0c;或者说是表单默认的类型。 下面是一个请求实例&#xff1a; 请求报文&#xff1a; 可以看得出&#xff0c;post将请求参数以k…

配置jupyter的启动路径

jupyter的安装参考&#xff1a;python环境安装jupyter-CSDN博客 1&#xff0c;背景 继上一篇python环境安装jupyter&#xff0c;里面有一个问题&#xff0c;就是启动jupyter&#xff08;命令jupyter notebook&#xff09;之后&#xff0c;页面默认显示的是启动时候的路径。 …

HarmonyOS开发案例:【使用List组件实现设置项】

介绍 在本篇CodeLab中&#xff0c;我们将使用List组件、Toggle组件以及Router接口&#xff0c;实现一个简单的设置页&#xff0c;点击将跳转到对应的详细设置页面。效果图如下&#xff1a; 相关概念 [CustomDialog]&#xff1a;CustomDialog装饰器用于装饰自定义弹窗。[List]…

RabbitMQ工作模式(4) - 路由模式

概念 路由模式&#xff08;Routing&#xff09;是 RabbitMQ 中的一种消息传递模式&#xff0c;也称为直连模式。它允许生产者将消息发送到一个交换机&#xff0c;并指定一个或多个路由键&#xff08;routing key&#xff09;&#xff0c;交换机根据路由键将消息路由到与之匹配的…

【介绍下Chrome插件开发】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

使用 NVM 动态切node版本

一、安装nvm 官网链接&#xff1a; Release 1.1.9 coreybutler/nvm-windows GitHub 无脑安装直接下一步 安装完之后验证一下&#xff1a; #打开命令行输入命令 nvm 这样就是安装好了&#xff0c;然后我们开始安装node。 二、使用nvm安装node 1、去node官网获取版本号 …

【算法】人工蜂群算法,解决多目标车间调度问题,柔性车间调度问题

文章目录 复现论文什么是柔性作业车间调度问题&#xff1f;数据处理ABC算法编码解码种群初始化雇佣蜂操作IPOX交叉多点交叉 观察蜂操作侦察蜂操作算法流程 结果程序截图问询、帮助 复现论文 什么是柔性作业车间调度问题&#xff1f; 也叫多目标车间调度问题。 柔性作业车间调…

什么是pytest自动化测试框架?如何安装和使用呢?

一、pytest是什么&#xff1f; pytest是一款强大的Python测试工具&#xff0c;可以胜任各种类型或级别的软件测试工作。实际上&#xff0c;越来越多的项目在使用pytest。因为pytest会提供更丰富的功能&#xff0c;包括assert重写、第三方插件&#xff0c;以及其他测试工具无法…

数字IC后端先进工艺设计实现之TSMC 12nm 6Track工艺数字IC后端实现重点难点盘点

大家知道咱们社区近期TSMC 12nm ARM Cortexa-A72(1P9M 6Track Metal Stack)已经开班。这里小编要强调一点:不要认为跑了先进工艺的项目就会很有竞争力&#xff01;如果你仅仅是跑个先进工艺的flow&#xff0c;不懂先进工艺在数字IC后端实现上的不同点&#xff0c;为何有这样的不…