Java的基础知识学习完结篇

2019-05-18  本文已影响0人  理以周

Java的基础知识学习完结篇

(1)数组变量:直接初始化数组{},具有可扩展性。(new创建的数组默认0);数组变量为“管理者”,而非数组本身;赋值为管理权限的赋予;数组变量之间的比较是判断是否管理同一个数组。

编译器帮我数数组的大小,数组大小具有可扩展性 结果 “管理者”体现 运行结果 数组变量之间赋值 结果 比较两个数组变量 结果,a和b为两个不同的数组变量 a和b的关系图

(2)拷贝数组:先遍历数组,再进行拷贝。

拷贝数组 a和b依然不相等 遍历过程发现a[i]=b[i] 结果,有个前提条件是数组长度相等

(3)遍历数组:进行搜素,通常使用for循环,从0到数组的length减1(常见错误:长度、离开循环后依然使用循环变量作为数下标)。

程序设计 结果1 结果2

(4)改进(3),利用for-each循环进行遍历:for(<类型><变量>:<数组>{})。

for-each循环 不能更改数组,但是可以读出来

(5)素数:算法的设计,一是利用循环进行遍历,二是先去除偶数和2,从3开始,加2进行遍历,三是利用sqrt(),四是判断是否能被已知的且<x的素数整除。五是先令x为2,将2x,3x,4x直至ax<n的数标记为非素数,令x为下一个没有被标记为非素数的数,重复,直至所有的数尝试完毕。

算法四,构造前50个素数表 算法五,与人的思考方式很不同 构造100以内的素数表

(6)二维数组:如int[][] a=new int[][],理解为几行几列的数组,遍历数组需要两层循环。

创建二维数组

(7)tic-tac-toe 游戏设计:行、列、对角线、反对角线出现三个o或者x获胜。

二维数组 (1) (2) (3) (4)

(8)字符类型:单个字符类型:char;字母和数字在Unicode中顺排;大写和小写分开排列;可以比较大小。

char:单个汉字、数字、字符 可作减法、类型转化、进制转化 结果 大小写字母转化 结果:A-->a 比较大小

(9)逃逸字符:控制字符、特殊字符,以\开头;\t自动对齐。

逃逸字符

(10)包裹类型:获得该类型的最大最小值,Integer.MAX_VALUE、Integer.MIN_VALUE。

包裹类型 Integer的利用 包裹类型的利用,作为工具十分好用

注意:用.运算符,让一个类或对象做事,a.length,Integer.MAX_VALUE

(11)字符串:字符串变量;String是一个类,其变量是对象的管理者而非所有者 ;用+连接字符串;输入字符串:in.next()读入一个单词,读到空格结束,空格包括空格、换行、回车;in.nextLine()读入一整行;判断字符串内容是否相同,用.equals(“”)。

具体操作

(12)String大小的比较:.compareTo IgnoreCase可以不区分大小写地来比较大小。

比较大小

(13)获得String的长度:用length()函数。

(14)访问String里的字符:s.charAt(index),长度从0到length减1,不能用for-ecah循环遍历。

循环遍历字符串

(15)得到子串:s.substring(n),从n号到末尾的全部内容;s.substring(b,e)从b号位置到e号位置之前的内容。

注意(2,4)输出为处于2、3位置的字符,不包括4位置的

(16)寻找字符:s.indexOf(c),找到c字符所在的位置,-1表示不存在;s.indexOf(c,n),从n号位置开始遵照c字符;s.indexOf(t),找到字符串t所在的位置;s.LastIndexOf(c),从右边开始寻找。

寻找字符 小套路,设置变量找到相同的字符所在的位置

(17)其他String操作:s.startsWith(t); s.endWith(t)(字符串以某个字符开始或者结尾); s.trim()(把字符串的两端的空格给删掉); s.replace(c1,c2)(交换字符串); s.toLowerCase()(将字符串都换成小写);  s.toUpperCase()(将字符串都换成大写)。

注意:所有的字符串都是不可变的,对它们的操作的结果都是制造新的字符串出来

注意示意

(18)switch-case中使用字符串:switch(s){case"this":......break;case"that':.....break;}

(19)MATH类:abs(绝对值)、pow(幂次)、random(随机数)、round(四舍五入)。

math类示例

(20)定义函数:.(为对象的操作),可以避免“代码复制”,程序质量不良的表现。函数是一块代码,接受0个或多个参数,做一件事情可以返回0个或一个值。

代码复制现象 定义函数

(21)调用函数:函数名(参数值),没有参数()也需要;return停止函数的执行,并返回一个值,return;return 表达式(注意定义时函数类型的设置)。void不能使用带值return。

定义函数f()函数 调用f()函数,调试时step into,step return的使用

注意:函数总是知道自己从哪里开始,并返回,注意类型匹配问题,计算机会自动转换,char-->int-->double,还可以手动强制转换;在调用函数数,永远只能传值给函数。

return 一个返回值的示例 函数的传值

(22)本地变量:(函数的递归调用)定义在函数内的变量、参数都是本地变量;变量有生存期和作用域,本地变量的生存期和作用域在{}内--块。

本地变量的规则:可以定义在函数的块内;可以定义在语句的块内;随便用一对{}来定义变量;当程序运行进入这个块之前,其中的变量不存在,离开这个块其中的变量就消失了;不能在一个块内定义同名变量,也不能定义块外面定义过的变量;块外面定义的变量在块内依然有效;参数在进入函数的时候就被初始化了。

上一篇下一篇

猜你喜欢

热点阅读