重生之路——java学习

背景:大学恍然已过三年,在一个普通的一本大学浑噩度日,偶然去到一个招聘会,感受到了压力,突然警醒。想来毕业能有能养活自己的能力。本人专业物联网工程,平时课程也学的不怎么好,基本靠突击,于是选择了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字节码文件名”进行运行。

说明:

  1. 一个源文件中有几个类编译后就会生成几个字节码文件。
  2. 字节码文件名和类名一致。
  3. 一个源文件中可以有多个类,类名不能相同且使用public修饰的类只能有一个。
  4. java严格区分大小写
  5. public修饰的类的类名必须和源文件的名称一致
  6. 每个语句后面以";"结尾
  7. 一个程序中只能有一个程序的入口。

总结:
学习编程最容易犯的错是语法错误。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*");
	}
}

转载请注明出处,侵权必究!
图片部分来源网络,若有侵权,请联系我删除

若对您有帮助,请点个关注或者赞鼓励我更新!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值