【114天】尚学堂高琪JAVA300篇视频笔记(1-6)

第1集

  1. 学啥语言都行,大同小异。

  2. 踏实学,最快闭关四个月能找到工作。【这是我自个知乎上看的】

第2集:计算机语言发展史、java核心优势、java三大版本的区别

Java相关背景知识

  1. 计算机基于冯诺曼体系

  2. 计算机三代语言

    1. 机器语言

    2. 汇编语言

    3. 高级语言

      • 面向过程(C)

      • 面向对象(C++、JAVA、C#)

  3. C语言是现代语言鼻祖

  4. C++是在C语言基础上设计的面向对象语言

  5. Java可被称为C++-

  6. Object-C是IOS和Mac开发中的主流语言

  7. C#是微软山寨的JAVA,但由于与Windows绑定,失去了Java的跨平台优势。

Java的特性

  1. 简单性

  2. 面向对象

  3. 可移植性(跨平台性)【核心优势】

    >一次编写,随处运行,对不同平台兼容性的处理由JVM处理,我们只需要专注于Java源文件的开发。
  4. 高性能

  5. 分布式

  6. 动态性

  7. 多线程

  8. 安全性

  9. 健壮性

Java三大版本

  1. J2SE(JAVASE、Java 2 Standard Edition)

    
    >定位在个人计算机上的应用【Java基础】
  2. J2EE(JAVAEE、Java 2 Enterprise Edition)

    >定位在服务器端的应用【JavaWeb、安卓使用】
  3. J2ME(JAVAME、Java 2 Micro Edition)

    
    >定位在消费性电子产品的应用【使用较少】
    

第3集:JDK和JRE和JVM的区别、JDK的下载安装、环境变量配置、测试安装成功

JDK和JRE和JVM的区别

  1. JVM(Java Virtual Machine)

    1. JVM是一种规范,可以使用软件来实现,也可以使用硬件来实现,就是一个虚拟的用于执行bytecodes字节码的计算机。他也定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域。

    2. Oracle公司制定了JVM规范,方便开发者开发JVM。

    3. JVM是指在一台计算机上由软件或硬件模拟的计算机;它类似一个小巧而高效的CPU。

    4. byte-code代码是与平台无关的是虚拟机的机器指令。

    5. JAVA的跨平台实现的核心是不同平台使用不同的虚拟机,不同的操作系统有不同的虚拟机。Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。

    6. java字节代码运行的两种方式:

      • 方式interpreter(解释)

      • Just-in-time(即时编译):有代码生成器将字节代码转换成本机的机器代码,然后可以以较高速度执行。

    7. JVM负责将java字节码解释运行,边解释边运行,这样,速度就会受到一定的影响。JAVA提供了另一种解释运行的方法JIT(just in time),可以一次解释完,再运行特定平台上的机器码,高级的JIT可以只能分析热点代码,并将这些代码转成本地机器码,并将结果缓存起来,下次直接从内存中调用,这样就大大提高了执行JAVA代码的效率。这样就实现了跨平台、可移植的功能。

  2. JRE(Java Runtime Environment)

    1. JRE包括:Java虚拟机(JVM)、库函数、运行Java应用程序和Applet所必须文件

    2. jre就是java运行时环境,包括了jvm和其它一些java核心api,任何一台电脑,只有安装了jre才可以运行java程序.

    3. Java运行环境的三项主要功能:

      • 加载代码:由class loader 完成;

      • 校验代码:由bytecode verifier 完成;

      • 执行代码:由 runtime interpreter完成。

    4. 若只是运行JAVA程序,只需要JRE(通常非常小)

  3. JDK(Java Development Kit)

    1. sdk(也就是jdk)是jre的超集,是在jre的基础上增加了编译器及其他一些开发工具。

    2. 若要开发Java程序,就需要安装JDK。

  4. JAVA语言的应用范围

    1. 桌面应用编程

    2. WEB客户端编程

    3. WEB服务器编程

    4. 手机编程(J2ME或者现在的Android系统上开发应用程序)

    5. 机器人编程

JAVA开发环境的安装和配置详解(Windows)

  1. 下载JDK

  2. 安装JDK

  3. 环境变量配置

  4. 测试环境是否安装成功(cmd测试)

第4集:第一个程序HelloWorld、JAVA程序运行机制

public class HelloWorld {public static void main(String[] args) {System.out.print("Hello World!");}
}
  1. 环境变量的配置,是方便你打Java、Javac时直接执行文件

  2. 计算机的高级编程语言类型: 编译型 ,解释型.  Java 语言是两种类型的结合;

    1. 第一步:编译
      利用编译器(javac)将源程序编译成字节码文件,字节码文件名:源文件名.class

    2. 第二步:运行
      利用虚拟机(解释器,java)解释执行class字节码文件。

第5集:Helloworld深化、文本编辑器的使用、常用dos命令、注释

Helloworld深化

  1. Java对大小写敏感。

  2. 关键字public被称作访问修饰符(access modifier),用于控制程序的其它部分对这段代码的访问级别。

  3. 关键字class 表明Java 程序中的全部内容都包含在类中,Java是一种纯面向对象的语言。

  4. 一个源文件中至多只能有一个public的类声明,其它类的个数不限,如果源文件中包含一个public 类,源文件名必须和它中定义的public的类名相同,且以“java”为扩展名。

  5. 一个源文件可以有多个class,正确编译后的源文件,会得到相应的字节码文件,编译器为每个类生成独立的字节码文件,且将字节码文件自动命名为类的名字且以“class”为扩展名。

  6. main方法是Java应用程序的入口方法,它有固定的书写格式。

  7. 在Java中,用花括号划分程序的各个部分,任何方法的代码都必须以“{”开始,以“}”结束, 由于编译器忽略空格,所以花括号风格不受限制。

  8. Java中每个语句必须以分号结束,回车不是语句的结束标志,所以一个语句可以跨多行。

  9. 编程风格:

    1. 注意缩进!

    2. 成对编程!

常用Java开发工具

  1. 文本编辑器

    • UltraEdit

    • EditPlus

    • notepad++

    • sublime text3

  2. 集成开发环境(IDE:Integrated Development Environment)

    • JBuilder (http://www.borland.com)

    • Eclipse (http://www.eclipse.org)【以后工作和学习的重点!】

    • MyEclipse【收费】

    • NetBeans(http://java.sun.com)

    • WSAD (http://www.ibm.com)

    • intelliJ(http://www.jetbrains.com/idea/)【至2017年公认最好用,但学习成本高,收费】

CMD常用dos命令

  1. cd   进入一个目录

  2. cd ..

  3. dir

  4. 上下键:查找敲过的命令

  5. Tab键:自动补齐命令

TERMINAL常用命令

  1. cd【.. ~ . /】

  2. ls

  3. pwd

  4. clear

  5. history

参考资料

两种注释

  1. 单行注释//、多行注释/**/

  2. 注释不出现在字节码文件中,编译器编译时将跳过注释。

public class Five {public static void main(String[] args){System.out.print("test");//我是单行注释System.out.println("test2");/*我 *是*多*行*注*释*/    }
}

第6集:标识符、unicode和GBK及各种字符集的关系

标识符

  1. 标识符:用于类、方法、变量的命名。

    1. 类名首字母大写(Man)

    2. 方法、变量首字母小写(myCode、eat())

    3. 标识符都使用驼峰命名法。

  2. Java标识符命名规则:

    1. 标识符必须以字母、下划线_ 、美元符$开头。

    2. 标识符其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合。

    3. Java 标识符大小写敏感,且长度无限制。

    4. 不可以是Java的关键字。

public class test006 {public static void main(String[] args){int $abc = 3;int _abc = 3;int abc = 3;int _ = 3;int $ = 3;int a = 3;//int 3abc = 3;//错误//int #abc = 3;//错误int 尚学堂 = 3;//可以,但不推荐}
}

unicode和GBK及各种字符集的关系

  1. JAVA不采用通常语言使用的ASCII字符集,而是采用Unicode这样的标准的国际字符集。因此,这里的字母的含义:英文、汉字等等。(不建议大家使用汉字来定义标识符!)

  2. 编码与解码时若不使用同一字符集,则会出现乱码。

  3. UTF-8,中文3个字节表示一个汉字、西欧英文1个字节表示一个字母,阿拉伯2个字节表示一个字符。

  4. 【我的拓展】常用中文字符用utf-8编码占用3个字节(大约2万多字),但超大字符集中的更大多数汉字要占4个字节(在Unicode编码体系中,U+20000开始有5万多汉字)。GBK、GB2312收编的汉字占2个字节,严格地用iso8859-1无法表示汉字,只能转为问号。参考资料

【114天】尚学堂高琪JAVA300篇视频精华笔记(1-6)相关推荐

  1. 【160天】尚学堂高琪Java300集视频精华笔记(129)

    明天开始,专栏增加一个黑马程序员的课程更新. 其它容器收尾讲解 队列Queue与Deque(单向队列与双向队列) Enumeration(较老的接口,JDK1.5前使用频繁,维护旧系统会用到) Has ...

  2. 【133天】尚学堂高淇Java300集视频精华笔记(71-72)

    第71集:常用类/file类/打印目录树状结构/递归算法 课堂代码 package com.test071;import java.io.File;public class Test071 {publ ...

  3. 【138天】尚学堂高淇Java300集视频精华笔记(84)

    第84集:太阳系模型/基本类的封装/Star类的建立 本集知识点 将对象尽可能的抽象,可以有效减少代码量,比如此例中的Star类 package com.test084_087_solar;impor ...

  4. 【135天】尚学堂高淇Java300集视频精华笔记(74-76)

    第74-75集:异常机制.trycatchfinallyreturn执行顺序.捕获异常.声明异常throw.方法重写中异常的处理.手动抛出异常 异常的处理办法一:捕获异常 try try语句指定了一段 ...

  5. 【131天】尚学堂高淇Java300集视频精华笔记(65-66)

    第65集:常用类Date类的使用JDk源码分析 Date时间类(java.util.Date) 在标准Java类库中包含一个Date类.它的对象表示一个特定的瞬间,精确到毫秒. Date()分配一个D ...

  6. 【147天】尚学堂高淇Java300集视频精华笔记(108-109)

    第108集:容器equals和hashcodeJDK源代码分析 本集知识点 Java中规定,若两个对象equals比较后内容相等(为true),则hashCode必须相等,反之不然.[原因见内存分析图 ...

  7. 【153天】尚学堂高淇Java300集视频精华笔记(122-123)

    叨叨两句(2017.7.8) 我现在发现我太适合当程序员了,稍微懂点知识后想法就一堆一堆的,哈哈. 今天敲下面这个冒泡排序时感觉太特么好了.原来学编程最快乐的事情就是懂了一些知识后,把它变成可以在电脑 ...

  8. 尚学堂 高琪JAVA300集第十一章作业 编程题答案

    本人 JAVA初学者 在寻找这一方面的答案时没有看见 ,本着分享的精神 自己做了出来 也就传上来了 水平有限 存在有错的地方或者改进的方法 ,望大佬们可以提出 万分感谢. 1.1. 设计一个多线程的程 ...

  9. DAY12:尚学堂高琪JAVA(119~123)Hashmap 与冒泡排序

    Hashmap 与冒泡排序 map,set,list的区别 添加链接描述 添加链接描述 添加链接描述 MyArrayList.java package fanxing; import java.uti ...

  10. 尚学堂lucene项目精讲视频共17讲

    尚学堂lucene项目精讲视频共17讲+文档+源码 超清 课程内容: ucene是一个java的搜索引擎,本套视频为无声版本,是尚学堂的新项目,已经包含了源码+设计开发文档.     001_myec ...

最新文章

  1. 前端跨域请求get_HTTP--跨域真的有这么难吗
  2. TypeScript之Https通信
  3. linux关于禁用硬件xinput使用
  4. 【Deep Learning】Tensorflow实现线性回归
  5. 3.5 梯度校验-机器学习笔记-斯坦福吴恩达教授
  6. java编译的语句_在Java语言中,下列语句能通过编译的是()。
  7. AOP 代理(AOP Proxy)
  8. target tile component.js load logic
  9. PHP web应用的调试
  10. 计算机启动和linux启动
  11. Tunnelling HTTP Traffic Through XSS Channels.pdf
  12. 操作系统(3) 多处理器编程:从入门到放弃
  13. JS:ES6-8 Promise入门
  14. java程序中默认包含的是_在编写 Java 程序时,如果不为类的成员变量定义初始值, Java 会给出它们的默认值,下列说法中不正确的一个是( )。...
  15. 物联网测试正面临四大难关
  16. 算法4中数学模型练习题分析
  17. 解除封闭、寒假延长!多校发通知
  18. 为什么打开wps文字背景是绿色的?怎么变成白色的呢?
  19. AddHeader使用方法
  20. python 数据分析师 考试_数据分析师证书怎么考?

热门文章

  1. 用 FragmentTabHost 实现底部菜单
  2. MATLAB实现规范化(normalize)数据的函数实现
  3. API平台都有的Appid、Appkey、Appsecret分别是什么意思?
  4. 苏云技术导航网站源码 附后台
  5. python面向对象oo是什么意思_python进阶:面向对象是什么意思?
  6. 面试小纸条(MySQL第一弹)
  7. 吴恩达机器学习18-应用实例:图片文字识别
  8. JVM_0.5_小故事
  9. 滴滴CTO张博港科大演讲:详解未来交通变革的三层“折叠”
  10. 如何按州跟踪缺席选票