Java入门自学笔记
一、变量
- 变量需要一个名字,变量的名字是一种“标识符”,意思是它是用来识别这个和那个的不同的名字。
- 标识符的构造规则:只能有字母、数字和下划线组成,数字不能在首位,java的关键字(保留字)不可以用做标识符。
int price = 0; //类型 变量 初始值
- java是一种强类型语言,所有的变量在使用之前必须定义或声明,所有的变量必须具有确定的数据类型。
- 数据类型表示在变量中可以存放什么样的数据,变量中只能存放指定类型的数据,程序运行过程中也不能改变变量的类型。
- 当浮点数和整数一起运算时,java会将整数转化为浮点数,然后进行浮点数的运算。浮点数计算是有误差的。
二、强制类型转换
int i = (int)(32/3.0); //(类型)值
三、break和continue
- 在循环前可以放一个标号来标示循环:label:。带标号的break和continue对那个循环起作用。
四、数组
double[] averages = new double[20]; //<类型>[] <名字>=new <类型>[元素个数];
- 元素个数必须是整数,元素个数必须给出,元素个数可以是变量。
- 数组变量是数组的管理者而非数组本身。
- 数组必须创建出来然后交给数组变量来管理。
- 数组变量之间的赋值是管理权限的赋予。
- 数组变量之间的比较是判断是否管理同一个数组。
- 最小下标为0,最大下标是元素个数-1,编译器不会检查是否为有效下标。运行时出现了无效的下标,可能导致程序终止。
五、二维数组初始化
int [][] a = {
{1,2,3,4},
{1,2,3,4},
};
- 编译器来数数。
- 每行一个{},逗号分割。
- 最后的逗号可以存在,有古老的传统。
- 如果省略,表示补零。
六、for-each循环
for(<类型><变量>:<数组>){
}
七、字符:char
- 单引号表示。包括汉字。字符可以比较大小
八、字符串:String
- 双引号表示。String是一个类,String的变量是对象的管理者而非所有者。就像数组变量是数组的管理者而非所有者一样。
String s = new String("a string"); //new=创建
- 创建了一个String的对象,用"a string"初始化这个对象,创建管理这个对象的变量s.
String s = "a s string"
- 编译器帮你创建了一个String累的对象交给s来管理。
- s1==s2 //比较是否同一个字符串
- s1.equals(s2) //比较字符串内容是否相同,应该用.equals来比较
- s1.compareTo(s2) //比较大下
- compareToIgnoreCase //不区分大小写
- .length() //字符串长度
- s.charAt(index)
- 不可以for-each循环遍历字符串
- s.substring(n) //得到从n位置到末尾的全部内容
- s.substring(b,e) //得到从b位置到e号位置之前的全部内容
- s.indexOf(c) //c字符所在的位置,-1表示不存在
- s.indexOf(c,n) //从n位置开始找c
- s.lastIndexOf(c) //从右开始找
- s.startWith(t)
- s.endWith(t)
- s.trim()
- s.replace(c1,c2)
- s.toLowerCase()
- s.toUpperCase()
- 所有的字符串都是不可变,操作结果是新的字符串。
九、包裹类型
- 包裹类型可以获得该类型的最大最小值。
- Integer:MIN_VALUE
- Integer:MAX_VALUE
十、输入
- in.next();读入一个单词,单词的标志是空格。空格包括空格、tab和换行。
- in.nextLine();读入一整行。
十一、Math
- abs
- pow
- random
- round
十二、代码质量
- 单一出口
- “代码复制”是程序质量不良的表现
十三、函数
调用函数
- 函数名(参数值)
- ()起到了表示函数调用的重要作用
- 即使没有参数也需要()
- 如果有参数,则需要给出正确的数量、顺序、类型正确
- 这些值会被按照顺序依次用来初始化函数中的参数
2.从函数中返回值
- return停止函数的执行,并送回一个值
- return;
- return 表达式;
3.没有返回值的函数
- void 函数名(参数表)
- 不能使用带值的return
- 可以没有return
- 调用的时候不能做返回值的赋值
4.本地变量
- 函数的每次运行,就产生了一个独立的变量空间,在这个空间中的变量,是函数的这次运行所独有的,称作本地变量。
- 定义在函数内部的变量就是本地变量。
- 参数也是本地变量。
5.变量的生存期和作用域
- 生存期:什么时候这个变量开始出现了,到什么时候消亡了
- 作用域:在(代码内)什么范围内可以访问这个变量(这个变量可以起作用)
- 本地变量的生存期和作用域都是函数内部。
6.本地变量的规则
- 本地变量是定义在块内的
- 它可以定义在函数的块内
- 也可以定义在语句的块内
- 甚至可以随便拉一对大括号来定义变量
- 程序运行进入这个块之前,其中的变量不存在,离开这个块,其中的变量就消失了。
- 块外面定义的变量在里面仍然有效
- 不能在一个块内定义同名的变量,也不能定义块外面定义过的变量
- 本地变量不会被默认初始化
- 参数在进入函数的时候被初始化了
十四、对象与类
1.类与对象的关系
- 类定义了对象长什么样,对象则是按照类的定义所制造出来的实体,一个类可以创建很多对象,每个对象有自己的数据。
- 对象是实体,需要被创建,可以为我们做事情。类是规范,根据类的定义来创建对象。
2.OOP特性
- 一切都是对象
- 程序就是一堆互相发送消息的对象
- 每个对象有自己的存储空间,里面是其他的对象
- 每个对象都有一个类型
- 所有属于某个特定类型的对象可以提供相同的服务
3.如何定义类
- 一个类有两种东西组成:表示对象有什么的成员变量和表示对象能做什么的成员函数。一旦定义了类,我们就可以创建这个类的多个对象,这些对象就会做那个类所定义的动作(函数),但具有各自不同的数据。
4.对象 = 属性 + 服务
- 数据:属性或状态
- 操作:函数
- 把数据和对数据的操作放在一起 —> 封装
5.成员变量
- 类定义了对象中所具有的变量,这些变量称为成员变量
- 每个变量有自己的变量,和同一个类的其他对象是分开的。
- 在函数中可以直接写成员变量的名字来访问成员变量
- this是成员函数的一个特殊的固有的本地变量,它表达了调用这个函数的那个对象。
- 成员变量的生存期是对象的生存期,作用域是类内部的成员函数。
Java入门自学笔记的更多相关文章
- TypeScript 入门自学笔记 — 类型断言(二)
码文不易,转载请带上本文链接,感谢~ https://www.cnblogs.com/echoyya/p/14558034.html 目录 码文不易,转载请带上本文链接,感谢~ https://www ...
- JAVA是否适合非科班者自学入行?石油工程专业从培训到JAVA入门自学亲身经历
如今的我已经过了三十而立的年纪,虽然在三十岁我没有立下任何事业,相反,还在茫茫苦海中挣扎. 但是我并不是没有收获.当然,曾经在我拥有大好青春年华的时候选择了迷茫,以至于当我有所明悟的时候,却已经错过了 ...
- Java入门学习笔记(全)
JAVA https://zhuanlan.zhihu.com/p/21454718 引用部分实验楼代码,侵删 先通读文档 再亲自试标程 复习时自己再批注 1.a = b += c = -~d a = ...
- python-零基础入门-自学笔记
目录 第一章:计算机基础 1.1 硬件组成 1.2 操作系统分类 1.3 解释型和编译型介绍 第二章:Python入门 2.1 介绍 2.2 python涉及领域 2.2.1 哪些公司有使用Pytho ...
- java入门学习笔记之2(Java中的字符串操作)
因为对Python很熟悉,看着Java的各种字符串操作就不自觉的代入Python的实现方法上,于是就将Java实现方式与Python实现方式都写下来了. 先说一下总结,Java的字符串类String本 ...
- java入门学习笔记之1(类的定义,代码的编译执行)
这篇文章讲解Java代码的基本执行过程 我们先抛开各种JAVA IDE,开发工具,只使用文本编辑器,以突出最本质的东西. 在Linux环境下,我们编辑一个文件: vim HelloWorld.java ...
- Java入门学习笔记
Hello.java public class Hello { public static void main(String[] args) { System.out.println("He ...
- TypeScript 入门自学笔记(一)
码文不易,转载请带上本文链接,感谢~ https://www.cnblogs.com/echoyya/p/14542005.html 目录 码文不易,转载请带上本文链接,感谢~ https://www ...
- Electron小白入门自学笔记(一)
码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14297176.html 一.从Hello Electron开始 创建一个空的文件夹, ...
随机推荐
- Python 运维
1.python解释器提供提供的小工具 1.1 一秒钟启动一个下载服务器 进入要下载文件的目录(shift+鼠标右键可以很快的在当前目录打开一个cmd) python2: python2 -m Sim ...
- 异常分类VS垃圾分类
异常分类VS垃圾分类 容易快速判断出是什么业务异常,容易对不同的异常进行不同的处理,容易很快找到对应的解决方法
- cocos2d-x JS 定时器暂停方法
this.scheduleOnce(function(){ this.addChild(Menugobtn);//要暂停执行的代码 }, 10);
- 《linux就该这么学》第二节课,安装红帽7,基础命令至2.3小节的笔记
笔记 实验环境: 1.安装注意事项:使用VM12版本 安装需要稍后安装系统. 自定义硬件DVD选择镜像位置. 自定义网卡仅主机. 自定义内存:大于等于4G,给予虚拟机2G,大于2G小于 ...
- java8模拟grouby方法
public class ListUtils{ /** * list 集合分组 * * @param list 待分组集合 * @param groupBy 分组Key算法 * @param < ...
- oracle中实现某个用户truncate 其它用户下的表
oracle文档中对truncate权限的要求是需要某表在当前登录的用户下,或者当前登录的用户有drop any table的权限. 但是如果不满足第一个条件的情况下,要让某用户满足第二个条件就导致权 ...
- puppeteer(二)操作实例——新Web自动化工具更轻巧更简单
一.入门实例 了解puppeteer见上一篇文章: https://www.cnblogs.com/baihuitestsoftware/p/9957343.html 1)本例主要是启动浏览器 con ...
- 用mpvue构建微信小程序
背景 由于机器人协会进行鼓励大家多读书的活动,所以为了可以更好的.更有效果,所以我跟会长提了一个建议,做一个微信小程序,那么为什么是微信小程序呢? 1.现在微信小程序比较好,用户也比较多:利用微信小程 ...
- 51Nod 1085 背包问题 (01背包)
在N件物品取出若干件放在容量为W的背包里,每件物品的体积为W1,W2……Wn(Wi为整数),与之相对应的价值为P1,P2……Pn(Pi为整数).求背包能够容纳的最大价值. 收起 输入 第1行,2个 ...
- P1636 Einstein学画画
一笔画问题 P1636 Einstein学画画 如果一个图存在一笔画,则一笔画的路径叫做欧拉路,如果最后又回到起点,那这个路径叫做欧拉回路. 奇点:跟这个点相邻的边数目有奇数个的点 不存在奇数个奇点的 ...