3.方法:在方法的花括号中编写方法应该执行的语句。
总图概括
============================================================================
我们已经大致理解 Java的一个简单的结构。现在我们来开始尝试写一个这样代码,让它运行起来。
这里我们用笔记本去实现这个Java代码(建议下一个 subline test 笔记本,看得舒服一些)
先选好你存放代码的位置,反键新建一个文本文件,把文件后缀txt改成java
现在我们 Java文件 是存储在我们的磁盘上(是一个普通的文本文件,我用的 subline test 的笔记本软件)
那么 这个 文本文件 Helloworld.java 里的程序,我们该如何如何让它跑起来?
这里我们需要借助电脑自带的 一个 “编译软件” cmd,(前提是你们要装好 jdk1.8的版本(现在大部分企业用的都是1.8 ,只有是这个大版本就可以,小版本随意)的Java插件,教程可以去b站去找)
弹出界面后(输入 java -version,就会显示出当前jdk的版本号),由于我的程序并不是 写在 jdk 的安装路径下,所以我们需要跳到对应磁盘,输入 (文件所在磁盘): + 回车
然后输入 cd + 你所写的程序的所在路径,回车
再 输入 javac 文件名 + 文件后缀,回车
.原因如下:
因为我们在 subline test 笔记本中,写代码加入大量中文注释,对其进行编译,会报错。
因为 编译标准 不匹配 导致的, 在 笔记本 当中 ,我们的 java文件 默认时文本文档,以ASCII码值形式的文件。按照 utf -8标准存储的。
就是说 在笔记本当中的代码是文本文件的标准 utf-8,而javac编译中,使用的是 GBK 标准。
utf-8 : 8位Unicode转换格式(UTF-8)
是一种用于编码各种字符的相对较新的代码约定。
它是字符标识的标准,也是各种编程语言和设备的参考,有助于标准化字母,数字和其他字符的显示。
GBK:Chinese Internal Code Extension Specification。(汉字内码扩展规范)
GBK编码,是在GB2312-80标准基础上的内码扩展规范,
使用了双字节编码方案,其编码范围从8140至FEFE,共23940个码位,共收录了21003个汉字,完全兼容GB2312-80标准,
支持国际标准ISO/IEC10646-1和国家标准GB13000-1中的全部中日韩汉字,并包含了BIG5编码中的所有汉字。
所以两者不匹配,产生冲突,才会出现报错。
解决的办法
在 编译指令 javac HelloWorld.java 后面加上 -encoding utf-8,进行编译
意思就是说 编译 以 utf-8 的标准进行编译的,因为文本文件 的 组织格式 一般都是 utf-8,这样就避免 GBK 和 utf-8 的冲突
总的来说:
Windows 创建一个文本文件的时候,默认是 utf-8
javac 编译器,默认是 GBK 去编译的
所以两者不匹配,产生冲突,才会出现报错。
故我们指定 javac (编译器) 用 utf-8 的标准 去编译
另外再注意2点
- 如果你 用 utf-8 无法编译,就改成 GBK 。
是因为 你电脑上的文本文件默认的可能就是 BGK,也就是说有的电脑对其进行编译时,不用特意的,让javac编译器按照某种标准去编译。
直接编译就行(输入 java HelloWorld 就OK了)。【具体是怎么样编译,要看电脑,自己尝试一下吧。】
2.每一个类,在编译完后,都会生成一个对应的字节码文件(后缀为 .class文件)
这样我们用笔记本写的一个 Java代码就成功运行了。
===========================================================================
关于 public static void main(String[] args) 括号中 args 的应用
args是 数组名
相信大家只要是看过我的C语言文章,或者本身具有 C基础的人,能看得懂,我接下来写的程序
一个简单的循环打印
注意,在程序中,我是没有给数组赋值的,
public class HelloWorld2{
public static void main(String[] args){
for(int i = 0;i < args.length;i++){
// 在 Java 想要获取数组长度很简单,数组名.length( args.length )。
// 这样写就可以代表数组的长度,或者取得数组的长度
// 它的长度,跟你输入的数据决定的,就不用担心 你要不要重新赋值的问题,它自己会解决。
System.out.println(args[0]);
System.out.println(args[1]);
System.out.println(args[2]);
System.out.println(args[3]);
}
System.out.println(“hello”);
}
}
运行情况一:
运行情况二:
System.out.print(“打印不换行”);
System.out.prinln(“打印换行,用的最多”);
System.out.printf(“跟C语言一样的打印格式,同时也是用的最少的”);
Java 当中的注释,有三种
- 行注释
//
快捷键 ctr + /
快捷键 既可以用来注释,也可以取消注释
2.块注释
/*
*/
快捷键 ctr + shift + /
快捷键 既可以用来注释,也可以取消注释
- 文档注释 类的开始 或者 方法的开始
/**
-
文档注释:
-
作者:
-
日期:
-
描述:
-
如果一个类是public的,那么这个类的类名(A / HelloWorld),一定要和文件名相同
-
并且一个java文件中只能有一个 共有 public 的 类(class)
*/
文档注释,注释的内容就好像一个文档一样
文档注释 是 没有 快捷键的
=====================================================================
javac
javac其实就是 java的编译器,所以它的功能,就是对java文件进行编译,产生一个 字节码文件(其实也是一个二进制文件,而且有趣的是文件开头是 cafebaby,见附图)
(文件名和Java文件名相同,只是后缀为 .class ,这里的 字节码文件 涉及到我们 Java语言的一个特性:一次编译,到处运行。这里我会在 了解JDK 当中进行讲解)
在命令行中 输入 javac + java文件名+后缀
当然前面的程序,我们是把程序写到笔记本里,所以要注意 java文件其实就是一个文本文件,
我们需要注意它的标准是什么,要不然编译的时候,容易产生冲突。
java
java 就是运行命令,运行 经过 javac 编译处理之后,产生的字节码文件(后缀为.class文件)
指令为 java + java文件名
说到这里, 我们再理顺一下:
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
总结
本文从基础到高级再到实战,由浅入深,把MySQL讲的清清楚楚,明明白白,这应该是我目前为止看到过最好的有关MySQL的学习笔记了,我相信如果你把这份笔记认真看完后,无论是工作中碰到的问题还是被面试官问到的问题都能迎刃而解!
MySQL50道高频面试题整理:
送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
[外链图片转存中…(img-5zerj8Se-1710751248773)]
[外链图片转存中…(img-WqD5PlXM-1710751248773)]
[外链图片转存中…(img-esBx7GxI-1710751248774)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-FEJvOJRC-1710751248774)]
总结
本文从基础到高级再到实战,由浅入深,把MySQL讲的清清楚楚,明明白白,这应该是我目前为止看到过最好的有关MySQL的学习笔记了,我相信如果你把这份笔记认真看完后,无论是工作中碰到的问题还是被面试官问到的问题都能迎刃而解!
MySQL50道高频面试题整理:
[外链图片转存中…(img-vhtlxQEE-1710751248775)]