Java学习笔记 (码龄七年第一次写笔记)
本文将以c++、PHP类比Java来整理笔记。新进来的秃头小宝贝们可以先看看我的码龄,也算是有一些经验了。我很不赞成以强制写笔记这种方式,来证明有没有学习Java,笔记是用来记录重难点与思路的,一些基础性的知识到处都有,牢记于心即可,何必浪费时间写笔记记录。在CSDN上找到很多大佬们的轮子,学习过图像分析等一些经验。
正文:
一、 java是一种面向对象的语言
二、 java运行核心机制
1、 java是运行在一个java虚拟机上jvm。 jvm是一个虚拟的机,具有指令集并使用不同的储存区域。负责执行指令,管理数据、内存、寄存器。
2、对于不同的平台,有不同的虚拟机。
3、java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。
4、编译执行过程如下:
java代码→ (通过javac.exe编译) .class→(通过java.exe执行)不同系统上的jvm
三、java环境的安装与搭建
(1) 什么是JDK, JRE?
1、 JDK: java development kit。是java的开发工具包。JDK其中包含了java的开发工具,也包括了JRE。所以安装了jdk就不用单独安装JRE了。
开发工具如:编译工具(javac.exe)打包工具(jar.exe)等等。
2、JRE: java runtime environment, java运行环境。
包括了java虚拟机和java所需要的核心类库等,如果想要运行一个开发好的java程序,计算机中只需要安装JRE即可。
(2)下载安装JDK
官网:www.oracle.com
安装JDK,注意:安装路径不要有中文或者特殊符号。
四、java语言java是由一个一个类构成的。
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello,World!");}}
注意一:模版。
类中可以用main方法(主方法) ,格式是固定的, public static void main(String[] args)。
main是程序的入口,方法内是程序的执行部分。
注意二:注释
可以检测bug,可以方便未来功能的添加与修改。
注意三: print不需要换行加上ln换行。
注意四:多个类,允许存在于同一个源文件中。
但是,编译出来的,有几个类就会对应生成几个class文件。
注意五: public是个关键字,可以修饰类。
如public class HARRY Hoo。若用public修饰了一个类,则这个类可以用在别的类里,而且,文件名必须与这个类名一样。并且一个源文件中,最多只有一个类用public声明。
五、java编辑器
Java 源代码本质上其实就是普通的文本文件,所以理论上来说任何可以编辑文本文件的编辑器都可以作为我们的 Java 代码编辑工具。
虽然eclipse占据了java程序员的40%的市场左右,但是由于本人用习惯了notepad++,用了七年之久。并且notepad++良好的开源环境,使得插件配备上更为完善,使用插件扩展后,效果堪比IDE(集成开发环境)。所以,我目前使用的依然是我熟悉的notepad++。notepad++可以更改编码模式,可以实现代码的重用化,省去大量精力。
六、java基础知识
(1)注释
代码解释:与c++规范相同。
文档注释:程序的注释,各种语言都是大同小异,并且各种语言为了让开发者快速上手,都会使用行业内的现有语言规范。java代码的注释和我编写PHP语言采用的一样,与c++语言规范更为相似。
PHP语言注释 java只需忽略第一行与第九行
学习计算机语言最重要的是理解其中机理,融会贯通。
注释内容可以被JDK中的Javadoc工具所解析,生成一套以网页文件形式体现的该程序的说明文档。
(2)基本语法
和c++极度相似……
(1)关键字定义:被java语言赋予了特殊含义,用作专门用途的字符串。
特点:无小写。
- 用于定义数据类型的关键字: int class boolean interface enum long void floatbyte double short char
- 用于定义数据类型值的关键字: true false null
- 用于定义流程控制的关键字: if else switch case default while do for dobreak continue return
(2)标识符定义:java对各种变量,方法和类等要素命名时使用的字符串序列成为标识符。
特点:凡是自己可以起名字的地方都叫标识符。
定义合法标志符的规则:
①字母,数字,_$组成
②数字不开头
③不可以使用关键字和保留字,但可以包含关键字和保留字。
④Java中严格区分大小写,但不限定长度。
⑤标识符不能包含空格。
java命名规范:
①包名:多单词组成时都用小写。
②类名,接口名:多单词组成时,所有单词的首字母都大写。
③变量名,方法名:多单词组成时,第一个单词首字母小写,第二个单词开始的每个单词首字母都大写。
④常量名:所有字母都大写,多单词时用下划线连接。
(3)变量
变量的分类(数据类型):
1、基本数据类型:
①数值型:整型,浮点型(java里float定义的数字后要加一个F)和c++相同。
②字符型:
char定义单个字符(中文,英文。。..),String定义字符串字符常量以Unicode值储存, Unicode码。
占两个字节
③布尔类型
java中不能以0和非0代替true和false(与c++标准不同)
2、引用数据类型
①类(字符串)
②接口(Java中的便捷性)
③数组
注:类型转化(与c++ 标准相同)
同类型容量小的值可以向容量大的值转换。
整型向浮点型转化。
字符型向整型转化。
1.自动类型转化:(不考虑boolean只考虑char byte short int long floatdouble)
注意:byte,short!只能向int转换。byte不能向short转化。即,只要short,byte,char之间做运算,包括自己之间,都向int转化。
2强制类型转化:容量大向容量小转化。(与c++相同)
注意:会造成精度损失(去高位,取低位)
3.字符串与基本数据类型之间的运算:只能是连接运算:+。其结果仍为一个字符串。
(4)运算符
1.逻辑运算符(与c++不同)
&和&&的区别:&不管左端是否是真,右端都会运算。&&左端是假,右端就不会运算。
|和‖区别与上同理
2.位运算符>>与>>>的区别:前者是有符号右移,后者无符号右移。
有符号是指,最高位是1则补1,是0则补0。
(5)数组
1、java数组的定义以及特征:
①数组是多个相同数据类型的组合,实现对这些数据的统一管理。
②数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。
③数组属于引用类型,数组型数据类型是对象(object),数组中的每个元素相当于该对象的成员变量。
2、如何定义一个数组
public class HARRYHoo {public static void main(String[] args) {//第一种 例:String[] test1 = new String[6];test1[0] = “数组0”;test1[1] = “数组1”;//第二种 例:String[] test2 = {“数组0”,“数组1”,“数组2”,“。。。。”};//第三种 例:String[] test3 = new String[]{“数组0”,“数组1”,“数组2”,“。。。。”};}}
3.数组的调用与c++相同
数组名[角标]
4.通过length属性获取数组长度
System.out.println(test1.length);
5.遍历数组中的元素
用for循环,c++中的方法。
6.数组的默认初始化值
①对于byte short int long而言:创建数组以后默认值为0(即使一个也不初始化,此处与c++不同)
②对于float double而言,默认值是0.0
③对于char而言默认值是空格
④对于Boolean而言默认值为false对于引用类型变量构成的数组,默认值是null
Java学习笔记 (码龄七年第一次写笔记)相关推荐
- Java学习笔记 (码龄七年第一次写笔记 续2)
输入与输出 1.输入 调用Scanner类的一系列方法(基础方法不再介绍) 2.输出 (1)格式化输出如果我们要输出小数,并且希望限制它小数点后的个数以及,所占的代码单元数. 可以使用如下几种方法(和 ...
- 码龄四年-第一次写博客
码龄四年第一次写博客 就写三句话这是第二句 祝大家牛转钱坤!!!
- 学习笔记:python爬虫(第一次写笔记,多多包涵)
近来活得有点闲,就想给自己找点事做,也不知道怎么的就瞄上python了. 因为是网上自学,所接触的知识点也是零零散散,看到什么就学什么,不成章法.而python里的知识又有如恒河沙数,数不胜数.在学了 ...
- 手写笔记图片计算机,如何将手写笔记录入到电脑上?
原标题:如何将手写笔记录入到电脑上? 如何将手写笔记录入到电脑上?相信有很多人在日常生活中都有写笔记的习惯,而且大多数人喜欢采取手写的形式来记录生活中的感悟.当我们需要将这些手写笔记录入到电脑上时,重 ...
- python手写笔记图片初学_Python处理手写笔记
下载W3Cschool手机App,0基础随时随地学编程导语 利用Python实现手写笔记的压缩与增强. 至于起因大概是: 这个内容很有趣... --> 说了等于没说.T_T 相关文件 密码: 4 ...
- Java学习打卡第七天——[再谈Collection之Set,TreeSet,泛型Generic的简介和使用]
说明:为了文章的简洁性和方便阅读在以后的打卡过程中,我会给出核心代码 Javaee之[Collection之Set] Javaee之[Collection之TreeSet] Javaee之[Colle ...
- 我的Java学习之路(七)-- 模拟考试系统
模拟考试系统 一.功能描述 二.实现代码 1. 定义考题类 2. 定义单选题类,继承考题类 3. 定义多选题类,继承考题类 4. 定义测试类 四.演示效果图 一.功能描述 定义考题类(Question ...
- JAVA学习笔记之面向对象(一)
作为初入开发的萌新,我根据黑马程序员的教学视频和课件整理总结,记录下自己的JAVA学习,方便巩固和交流.每篇笔记首先回顾知识点,然后贴上代码和执行结果,最后进行小结.若有不正之处或者有疑问,欢迎指出, ...
- Java入门-Java学习路线课程面试篇:取商 / 和取余(模) % 符号的使用
本博客地址 | GitHub | 更多资源免费下载 取商 / 和取余(模) % 符号的使用 文章目录 1. / % 最容易出错的演示案例 2. 运行结果: 1. / % 最容易出错的演示案例 pack ...
最新文章
- Oracle数据库表导出和导入csv文件操作
- 读 Linux内核设计与实现 我想到了这些书
- 自己封装线程(Demo)
- 根据根据图片的url怎么取得图片ImageView对象
- 链式运动JavaScript实现
- shell中函数返回值
- Elasticsearch –使用模式替换过滤器和自定义分析器忽略查询中的特殊字符
- hrbp 牵着鼻子走_防止被下属牵着鼻子走的四个经典方法,学会了,下属就好管了...
- python 安装容易吗,Python安装的步骤操作其实是件很容易的事
- iOS 14.0.1修复五大问题,无法连接Wi-Fi已经解决
- 【KDD20】深度图神经网络专题
- java 算法递归案例_JAVA 几个递归算法实例
- 如何将安卓数据同步到Mac电脑上
- zigbee协议栈学习(0)
- Butterfly-蝴蝶-主题优化、美化-Lete乐特
- 华为matex鸿蒙,华为MateX推迟至9月,或预装鸿蒙系统,价格是唯一败笔
- 基于TI Sitara Cortex-A8 ARM AM335x评估板串口
- 用java汽车美容店管理系统_洗车店 一个较为简单的洗车店管理系统 联合开发网 - pudn.com...
- 生态学研究机构之中山大学
- 抖音八大推流机制是怎样的?鹰迪电子商务
热门文章
- 文件服务器对cpu的要求,文件服务器构建指南——OS与CPU篇
- 细谈Quercus----Java之PHP框架
- 机器人抓矸石_研究提出多机械臂协同煤矸分拣机器人
- 虚拟机ubuntu18.04 使用笔记本摄像头,cheese出来的视频窗口是黑屏
- 易康ecognition中如何导出分好类的TIF 文件
- #23种设计模式之--12-- Visitor(访问者)#
- 【flash】个人用基础操作笔记
- 一开机就是coloros恢复模式_「系统」一加氢OS 11升级 这俩功能终于等到 | realme新UI十月见...
- Vue2 应用测试学习 02 - TDD 案例(案例介绍和创建、编写测试用例)
- web自动化测试实战之批量执行测试用例