A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王江涛123456 初级黑马   /  2018-11-15 16:42  /  700 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

来到黑马十多天,学了Java的基础知识,这些天学了如下一些知识点:
第一天
数据类型:
数据类型又包括数据基础类型和数据引用类型
基础类型:
整形:byte short int long
布尔:boolean
浮点型: double float
字符型:char
引用类型:String字符串,数组,枚举等
第二天
把小范围数据转换给大范围数据
强制数据类型转换:显式的,可能会发生数据精度损失和数据损失
格式:数据类型 变量名 = (数据类型) 被转换数据值
注意事项:
1>byte short char 是可以相互相加的,会把数据类型先转化为int类型,然后再相加,得到的结果是int.
2 数据类型运算
1>两个数据类型不同的两个数据进行运算的时候,会先把数据类型转化为比较大的数据类型进行运算,得到结果的数据类型也是比较大的数据类型.
2>字符串的拼接,中间用+好连接就行.
3 自增和自减运算符
基本含义:让一个变量加1或者减1.
使用格式:写在变量名之后,或者之前,例如:i++,++i.单独使用时,这两种表示方法是一样的.混合的时候++i立刻加1,i++首先使用变量的值,然后变量加1.
4 逻辑关系
&& 并且:全都是true 结果才是true
|| 或者:至少有一个是true,才是true
!  取反:本来是true,结果是false
短路: 如果左边的判定已经可以得到最终的结果,右边的代码将不再执行,节省性能.
&和单|没有短路效果,对结果无影响.
5 三元运算符
格式:数据类型 变量名称 = 条件判断?表达式A:表达式B;
条件成立为true,将表达式A的值赋值给左侧的变量,不成立将表达式B的值赋值给左侧的变量
注意事项:表达式AB必须都符合左侧数据类型,三元运算符必须返回结果.
6 方法
定义格式
修饰符 返回值类型 方法名(参数列表){
        代码....
        return ;
}
注意事项:
1>方法定义的先后顺序无所谓
2>方法的内部不能嵌套方法
3>方法写好之后不会执行,一定要进行方法的调用才会执行.
第三天
1.if判断语句  以及拓展的if-else语句等
无特殊重点
2.switch选择语句
有可能用得到case的穿透效果
3.循环语句(重点掌握)
已知循环次数 --For循环;
未知循环次数while循环;
一定要执行一次do-while循环。
灵活使用break,打断循环;
以及终止当前循环,继续下一次循环continue
第四天
方法的调用
方法定义的完整格式
修饰符 返回值类型 方法名称(参数类型 参数名称,...){
    方法体
    return 返回值;
}
返回值类型:方法最终产生的数据类型
参数类型:进入方法的数据是什么类型
参数名称:进入方法的数据类型对应的变量名称
ps:参数如果有多个,可以用","进行分割
return:
一停止当前方法
二将后面的值返回值还给方法的调用处
return后面的返回值,必须和方法名称前面的返回值类型,保持对应
三种调用格
一单独调用:方法名称(参数);
二打印调用:System.out.println(方法名称 (参数));
三赋值调用:数据类型 变量名称 = 方法名称 (参数);
方法的重载(Overload)
方法的重载:多个方法的名称一样,但是参数列表不一样
好处:只需要记住为一个方法名称,就可以实现类似的多个功能.
第五天
右侧的new:代表数组的工作
右侧数据类型:必须和左边的数据类型保持一致
右侧中括号的长度:也就是数组当中,到底可以保存多少个数据,是一个int数字
静态初始化
格式:
标准格式:数据类型[] 数组名称 = new数据类型[]{元素一,元素二...}
省略格式:数据类型[] 数组名称 = {元素一/,元素二..}
注意事项
1>静态初始化没有直接指定长度,但是仍然会自动推算得到长度
2>静态初始化标准格式可以拆分为两个步骤
3>动态也可以拆分为两个步骤
4.静态初始化一旦使用省略模式,就不能拆分为两个步骤
如果不确定数组中的具体内容,用动态初始化数组.
访问数组的格式:数组名称[索引值
索引只是一个int数字,代表数组当中元素的编号.索引值从0开始.
动态初始化时,其中的元素会自动拥有一个默认值.
整形 0:浮点型 0.0;字符型 '\u0000';布尔型 false;引用类型 null;
java的内存划分为5个部分
1>(Stack):存放的都是方法中的局部变量.方法的运行一点更要在栈中运行
2>(Heap):凡是new出来的东西,都在堆当中
3>方法区(Method Area):存储.class相关信息,包括方法的信息
4>本地方法栈
5>寄存器
第六天
类和对象:
  :是对一类事物的描述.(抽象)
   属性:就是该事物的状态信息
   行为:就是该事物能够做什么
对象:是对一类事物的实例.(具体)
类是对象的模板,对象是类的实体
创建对象的格式
类名称 对象名 = new 类名称();
如何使用
使用成员变量:对象名.成员变量名
使用成员方法:对象名.方法名
成员变量和局部变量的区别
成员变量:在方法的外部,直接卸载类当中,整个类都可以通用如果没有赋值,有默认值
局部变量:在方法的内部,只有在方法中才能使用,没有默认值,如果想要使用,必须手动赋值
方法的参数    局部变量
面向对象:
面向对象三大特征:封装,继承,多态
封装性在Java当中的体现:
1>方法就是一种封装
2>关键字private也是一种封装.
封装就是把一些细节隐藏起来,对于外界不可见
构造方法:他是用于创建对象的同时就给成员变量赋值
new对象的时候,构造方法会被调用.
当构造方法没有时,系统会送一个空参构造方法以供使用,当有构造方法时,系统不再""构造方法.
第七天
ArrayList:
ArrayList集合的长度是可以变化的
对于Array List来说,有一个<E>待变泛型
泛型:
泛型只能是引用类型,不能是基本类型
对于ArrayList集合来说,,直接打印得到的不是地址值,而是内容.
如果内容为空,得到的是空的中括号
ArrayList内部有特殊处理,都已打印出来的是集合存储的数据内容
第八天
String字符串
=====特点:
字符串的内容永不可变的;
字符串是可以共享的(不可变特性)
字符串效果上相当于char[]字符数组,底层原理为byte[]字节数组
====创建字符串的方式
public String();创建空白字符串
public String(char[]array)根据字符数组
public String(byte[]array)根据字节数组
String s = "sssss";
=====注意:直接写上双引号,就是字符串对象
有时候必须要用new的方式去创建字符串(需要做数据类型之间的转换)
字符串常量池:::::
程序当中直接写上的双引号字符串,在常量池中
new的不在常量池中
对于引用类型来说"=="是进行地址值的比较
====有关String的方法
equals 比较字符串
当常量与变量进行比较时,常量放前边(变量为null,常量写后面会造成空指针异常)
equalsIgnoreCase 忽略大小写进行比较//只有英文大小写才可以忽略
public int Length();获取字符串长度
public String concat(String str);将当前字符串和参数字符串拼接成为返回值新的字符串
public char chatAt(int index):获取指定索引位置的单个字符
public int indexOf(String str):查找参数字符串在本字符串当中首次出现的索引位置,如果没有返回-1
public String subString(int index)截取从参数位置一直到字符串末尾,返回新字符串.
public String subString(int begin,int end)截取从begin开始,end结束[begin,end)左闭右开
public char[]toCharArray();将当前字符串拆分为字符数组作为返回值
public byte[]getBytes();获得当前字符串底层的字节数组
public String raplace(Char====)//替换老字符串,产生新的字符串
toCharArray将字符串转化为字符数组
split(String regex)分割字符串".","+","\"等符号比较特殊  不能用
====static关键字
一旦用了Static关键字,那么这样的内容不再属于自己 ,而是属于类
对于静态方法来说,可以通过对象进行调用,也开始已通过类名称来调用。(推荐些类名字.方法)
====静态不能直接访问非静态,只能访问静态
原因:内存中先有的静态内容,后又的费静态内容。
静态中不能使用this关键字。
=====静态代码块
特点:只执行一次,最先执行(在加载类的时候已经执行了)
=====工具类
定义:类中所有的 内容(成员变量,成员方法)都是static,这样的类称之为工具类
Arrays:针对数组的一个工具类
Arrays.sort():对数组进行从小到大排序
Arrays.toString():返回一个字符串,内容是数组中所有书籍的拼接结果
========Math方法
floor向下取整
ceil向上
abs取整
round四舍五入
这几天主要学习的就是以上这些内容,大致的总结了一下.

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马