背景:大学恍然已过三年,在一个普通的一本大学浑噩度日,偶然去到一个招聘会,感受到了压力,突然警醒。想来毕业能有能养活自己的能力。本人专业物联网工程,平时课程也学的不怎么好,基本靠突击,于是选择了java进行学习。希望以写csdn的形式激励自己能够坚持学习下去。*
学习资料:淘宝买的某硅谷的云盘课程。
Day 1笔记更新(2020.11.7第一次更新)
Day1
Java基础知识图解
1-1 软件开发介绍
- 软件开发
软件,即一系列按照特定顺序组织的计算机数据和指令的集合。有系统软
件和应用软件之分。(系统软件:windows,linux)(应用软件:qq等) - 人机交互方式
图形化界面(Graphical User Interface GUI)这种方式简单直观,使用者易于接受,容易上手操作。 - 命令行方式(Command Line Interface CLI)
需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。
1-2 软件开发介绍
- 常用的DOS命令
dir : 列出当前目录下的文件以及文件夹
md : 创建目录
rd : 删除目录
cd : 进入指定目录
cd… : 退回到上一级目录
cd: 退回到根目录
del : 删除文件
exit : 退出 dos 命令行
补充:echo javase>1.doc(将javase写入到1.doc中,1.doc一开始不存在)
常用快捷键
← →:移动光标
↑ ↓:调阅历史操作命令
Delete和Backspace:删除字符
Table补全
- Java语言的特点
特点一:面向对象
两个基本概念:类、对象
三大特性:封装、继承、多态
特点二:健壮性
吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制
特点三:跨平台性
跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , Run Anywhere”
原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java Virtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。
Java语言的特点
因为有了JVM,同一个Java 程序在三个不同的操作系统中都可以执行。这样就实现了Java 程序的跨平台性。
核心机制—垃圾回收
1.不再使用的内存空间应回收—— 垃圾回收。
2.在C/C++等语言中,由程序员负责回收无用内存。
3.Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
4.垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
5.Java程序还会出现内存泄漏和内存溢出问题吗?Yes!
———————————————————————
安装jdk与配置环境变量
之前上课已进行了安装,若有读者需要,请私聊我
———————————————————————
第一个java程序
注意编译和执行的语句以及是否带后缀名(编译带,运行不带)
注 释(comment)
用于注解说明解释程序的文字就是注释。
- Java中的注释类型:
单行注释
多行注释
文档注释 (java特有)
提高了代码的阅读性;调试程序的重要方法。
注释是一个程序员必须要具有的良好编程习惯。
将自己的思想通过注释先整理出来,再用代码去体现 - 单行注释
格式: //注释文字
多行注释
格式: /* 注释文字 */
注:
对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。
多行注释里面不允许有多行注释嵌套。
文档注释(Java特有)
格式:/**
@author 指定java程序的作者
@version 指定源文件的版本
*/
注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。
操作方式
第一个程序总结:
创建:创建一个以“.java”结尾的文件,该文件叫作源文件。
编译:“javac 源文件名.java”进行编译,生成一个或多个以“.class”结尾的文件,该文件叫做字节码文件。
运行:“java字节码文件名”进行运行。
说明:
- 一个源文件中有几个类编译后就会生成几个字节码文件。
- 字节码文件名和类名一致。
- 一个源文件中可以有多个类,类名不能相同且使用public修饰的类只能有一个。
- java严格区分大小写
- public修饰的类的类名必须和源文件的名称一致
- 每个语句后面以";"结尾
- 一个程序中只能有一个程序的入口。
总结:
学习编程最容易犯的错是语法错误。Java要求你必须按照语法规则编写代码。如果你的程序违反了语法规则,例如:忘记了分号、大括号、引号,或者拼错了单词,java编译器都会报语法错误。尝试着去看懂编译器会报告的错误信息。
Java API的文档(理解成说明书)
API (Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口。
Java语言提供了大量的基础类,因此 Oracle 也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。
下载API:下载api
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Additional Resources-Java SE 8 Documentation下载。
良好的编程风格
正确的注释和注释风格
使用文档注释来注释整个类或整个方法。
如果注释方法中的某一个步骤,使用单行或多行注释。
正确的缩进和空白
使用一次tab操作,实现缩进
运算符两边习惯性各加一个空格。比如:2 + 4 * 5。
块的风格
Java API 源代码选择了行尾风格
因此建议是使用行尾风格
\n : 换行符
\t : 制表符
println() : 输出语句并换行
print() : 输出内容不换行
知识回顾
● JDK,JRE,JVM的关系。
● 环境变量path配置及其作用。
● Java程序的编写、编译、运行步骤:
● Java程序编写的规则。
● 在配置环境、编译、运行各个步骤中常见的错误以及解决方法。
—————————————————————————————————
作业:
2.
出现的问题:错误: 编码GBK的不可映射字符
问题分析:jdk默认使用gbk编码,导致中文字符编译时报错。
解决方法:在编译的时候声明编码方式-encoding UTF-8
3.
出现的问题:调试了好多好多次,发现一直不正确,没能好好分析制表符的用法,硬着头皮调试了出来。之后查找了相关的资料了解到了制表符的作用是补全(8-前面字符的位数%8)的距离,也就是说前面有1个字符那么在1个字符后输出一个\t,则\t的长度为7个字符长度
附作业代码,若有错误和更好的解法,请不吝赐教。(本人小白一枚)
下面展示 作业代码
。
day1 作业第一题
class HelloJava{
//程序的入口方法
public static void main(String[] args){
//输出语句输出Hello Java!
System.out.println("Hello Java!");
}
}
day1 作业第二题
class PrintInformation{
//该程序的入口方法
public static void main(String[] args){
//打印输出个人信息
System.out.println("姓名:张三法");
System.out.println("性别:未知");
System.out.println("籍贯:北京");
System.out.println("住址:兵马俑遗址");
}
}
day1 作业第三题
class ILoveJava{
public static void main(String[] args){
System.out.println("\t* \t\t\t\t *");
System.out.println(" *\t\t* I love Java *\t\t*");
System.out.println("\t*\t\t\t\t *");
System.out.println("\t *\t\t\t\t *");
System.out.println("\t *\t\t\t *");
System.out.println("\t *\t\t\t *" );
System.out.println("\t *\t\t *");
System.out.println("\t *\t\t *");
System.out.println("\t *\t *");
System.out.println(" \t\t\t * ");
}
}
测试\t制表符
class testT {
public static void main(String[] args) {
System.out.println("ABCDEFGHIJKLMNOP*");
System.out.println("\t*");
System.out.println("1"+"\t*\t*");
System.out.println("12"+"\t*\t*");
System.out.println("123"+"\t*\t*");
System.out.println("1234"+"\t*\t*");
System.out.println("12345"+"\t*\t*");
System.out.println("123456"+"\t*\t*");
System.out.println("1234567"+"\t*\t*");
System.out.println("12345678"+"\t*");
System.out.println("123456789"+"\t*");
System.out.println("================");
System.out.print("1");
System.out.print("\t*");
}
}
转载请注明出处,侵权必究!
图片部分来源网络,若有侵权,请联系我删除
若对您有帮助,请点个关注或者赞鼓励我更新!