黑马程序员技术交流社区

标题: 初学者的体验 [打印本页]

作者: xia10837349    时间: 2017-12-27 12:38
标题: 初学者的体验
    来黑马快一个月了,说实话,对一个以前每天9点以后起床的人来说,现在最大困难就是每天不够睡,每天早上6点左右起床,开车30公里到学校,晚上9点半30下课,再开30公里回家,很难想象已经安逸了好几年的我是如何坚持的。也许这是就是改变的痛,身边好几个人都跟我说程序员是吃青春饭的,像你都26,还学个毛呀?而我想说的是就这样的人学完了,在一家公司干个一两年,铁定能是领导了呀,哈哈......
          也许确实是在社会混了太久了,心很难静下来,家里老婆怀孕了,事情也多。老师讲的我都能听懂,逻辑思路也都很顺,就是自己写的时候总是丢三落四的。算好君哥和志恒哥都很耐心,一遍又一遍的给我讲不会的地方。说实话让我一个零基础才刚刚学java并且学的不太好的人来写技术贴,实在是难难难.......所以只有课堂笔记分享给大家......
1、Java语言发展史
詹姆斯·高斯林
JVM,JRE,JDK
总结一句话JDK包含JRE 和开发工具包
JRE 包含 核心类库和JVM
2、Java中数据类型的分类
基本数据类型
八大数据类型
整数类型:Byte short int lang
小数类型:float double
字符型:char
布尔型 boorlean
引用数据类型
类 ,数组,枚举(暂时没学),接口
3、数据类型转换
        隐式转换      
                byte,short,char -- int -- long -- float -- double
     强制转换:
                目标类型 变量名 = (目标类型) (被转换的数据);
4、算数运算符++和- - 的用法
+运算符:
        算术运算符
        关系运算符

        赋值运算符
        逻辑运算符

        三元运算符.
一.  算术运算符;
    1. 基本运算符
+  , - , * , /.
注意: 整数相除到的只能是整数,要想得到小数必须有浮点数参与运算.
     2.取余 %
%  : 用于获取两个数据相除时的余数.

/   :  用于获取两个数据相除时的商.
a-(a/b)*b=a%b;
    3.+的常见操作
       字符参与加法运算,其实是拿字符在计算机中存储的数据值来参与运算的
'A' 65
'a'  97
'0'  48
     字符串参与加法运算,其实做的不是加法运算,而是字符串的拼接.(从左到右运算)
  4. ++ 和  -- 的用法
    ++  -- :自增 自减,用于对变量加1或者减1.

    ++  --既可以用在变量的后面,也可以放在变量的前面
   ++或者--单独使用的时候,放在前面和后面,结果一样;
参与其他操作的时:
++在后面,先拿变量做操作,然后变量再++;
++在前面,先变量++,再拿变量参与操作
二, 赋值运算符
    基本的赋值运算符 : =

    扩展的赋值运算符 : +=, -=,*=,/=.......

        +=的操作

        拿+=的左边和右边的数据做+,然后把结果赋值给左边.

注意 :扩展的运算符,隐含课强制类型转换.
三, 关系运算符.

       ==  !=   >  <  >=  <=

      关系运算符的结果是boolean的类型的
注意事项:
        千万不要把==写成=

四, 逻辑运算符;
    用于连接关系表达式.

    &(与)  |(或)  ^(异或)  !(非)
    &&   ||

     &:有false则false
      |: 有true则true
      ^: 相同为false,不同则true;
      !:  true则false, false则true;
       &&: 和&的结果一样,具有短路效果,左边为false,右边不执行
       ||:    和|的结果一样,具有短路效果,左边为true,右边不执行
五, 三元运算符;
         关系表达式?表达式1:表达式2;
执行流程:
        A: 计算关系表达式的值,看是true还是false
        B: 如果是true,表达式1就是结果;
             如果是false,表达式2就是结果;



键盘录入
为了提高程序的灵活性,我们就把数据改进为键盘录入
如何实现键盘录入数据呢?我们只能使用jdk提供的类Scanner.
步骤;
A; 导包
     import java.util.Scanner;
B; 创建键盘录入对象
      Scanner sc = new Scanner(System.in);
C;  接受数据;
       int  i = sc.nextInt();
9、运算符:
        算术运算符
        关系运算符
        赋值运算符
        逻辑运算符
        三元运算符.
一.  算术运算符;
    1. 基本运算符
+  , - , * , /.
注意: 整数相除到的只能是整数,要想得到小数必须有浮点数参与运算.
     2.取余 %
%  : 用于获取两个数据相除时的余数.
/   :  用于获取两个数据相除时的商.
a-(a/b)*b=a%b;
    3.+的常见操作
       字符参与加法运算,其实是拿字符在计算机中存储的数据值来参与运算的
'A' 65
'a'  97
'0'  48
     字符串参与加法运算,其实做的不是加法运算,而是字符串的拼接.(从左到右运算)
  4. ++ 和  -- 的用法
    ++  -- :自增 自减,用于对变量加1或者减1.
    ++  --既可以用在变量的后面,也可以放在变量的前面
   ++或者--单独使用的时候,放在前面和后面,结果一样;
参与其他操作的时:
++在后面,先拿变量做操作,然后变量再++;
++在前面,先变量++,再拿变量参与操作
二, 赋值运算符
    基本的赋值运算符 : =
    扩展的赋值运算符 : +=, -=,*=,/=.......
        +=的操作
        拿+=的左边和右边的数据做+,然后把结果赋值给左边.
注意 :扩展的运算符,隐含课强制类型转换.
三, 关系运算符.
       ==  !=   >  <  >=  <=
      关系运算符的结果是boolean的类型的
注意事项:
        千万不要把==写成=
四, 逻辑运算符;
    用于连接关系表达式.
    &(与)  |(或)  ^(异或)  !(非)
    &&   ||
     &:有false则false
      |: 有true则true
      ^: 相同为false,不同则true;
      !:  true则false, false则true;
       &&: 和&的结果一样,具有短路效果,左边为false,右边不执行
       ||:    和|的结果一样,具有短路效果,左边为true,右边不执行
五, 三元运算符;
         关系表达式?表达式1:表达式2;
执行流程:
        A: 计算关系表达式的值,看是true还是false
        B: 如果是true,表达式1就是结果;
             如果是false,表达式2就是结果;

键盘录入
为了提高程序的灵活性,我们就把数据改进为键盘录入
如何实现键盘录入数据呢?我们只能使用jdk提供的类Scanner.
步骤;
A; 导包
     import java.util.Scanner;
B; 创建键盘录入对象
      Scanner sc = new Scanner(System.in);
C;  接受数据;
       int  i = sc.nextInt();


16、随机数
Random r = new Random();                (导包)
– 获取随机数
int number = r.nextInt(10);                                (接收参数)
17、数组的定义
格式1:数据类型[] 数组名;
格式2:数据类型 数组名[];
二维数组格式
定义格式
数据类型[][] 数组名;
数据类型 数组名[][]; 不推荐
数据类型[] 数组名[]; 不推荐
初始化方式
数据类型[][] 变量名 = new 数据类型[m][n];
数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}};
简化版格式:数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};
18、方法
         方法的定义格式
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
                        函数体;
                        return 返回值;
}
18、方法重载的概述和基本使用
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
方法重载特点
与返回值类型无关,只看方法名和参数列表
在调用时,虚拟机通过参数列表的不同来区分同名方法
方法重载:在同一个类中,出现了方法名相同的方法,这就是方法重载。
* 方法重载特点:
*                 方法名相同,参数列表不同。与返回值无关。
*                 参数列表不同:
*                         参数的个数不同。
*                         参数对应的类型不同。
* 注意:调用方法的时候,java虚拟机会通过参数列表的不同来区分同名的方法
19、方法的形式参数为基本数据类型
方法的参数是基本类型的时候:
                  形式参数的改变不影响实际参数。
  形式参数:用于接收实际数据的变量
  实际参数:实际参与运算的变量
20、面向过程特点与面向对象特点
A:面向过程:
强调的是过程,所有事情都需要自己完成
B:面向对象:
是一种更符合我们思想习惯的思想(懒人思想,我把事情自己不做,交给别人去做)
          可以将复杂的事情简单化(对使用者来说简单了,对象里面还是很复杂的)
将我们从执行者变成了指挥者角色发生了转换

类和对象的概念
a:类:是一组相关的属性和行为的集合(我们班所有的同学都具备相同的属性和行为,比如:姓名,年龄,学习,这样就把所有的学生成为学生类)
b:对象:是该类事物的具体体现(说某个同学时,他都具备自己特有的属性和行为)
c:举例:
         类         学生
         对象        具体的某个学生就是一个对象
比如:车是一个类,具体的开的奔驰、宝马,就是对象
private关键字
A:private关键字:
a:是一个权限修饰符。
b:可以修饰成员(成员变量和成员方法)
c:被private修饰的成员只在本类中才能访问。

this关键字
A:this:代表所在类的对象引用
方法被哪个对象调用,this就代表那个对象
B:什么时候使用this呢
局部变量和成员变量重名
构造方法格式:
A:构造方法格式
a:方法名与类名相同
b:没有返回值类型,连void都没有
c:没有具体的返回值
21、使用API步骤:
A:打开帮助文档
B:点击显示,找到索引,看到输入框
C:输入你要查找的内容
D:看包
E:看类的描述
F:看构造方法
G:看成员方法

22、String类的判断功能
boolean equals(Object obj):比较字符串的内容是否相同
  boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
  boolean startsWith(String str):判断字符串对象是否以指定的str开头
  boolean endsWith(String str):判断字符串对象是否以指定的str结尾
String类的获取
String类的获取功能:
* int length():获取字符串的长度,其实也就是字符个数
* char charAt(int index):获取指定索引处的字符
* int indexOf(String str):获取str在字符串对象中第一次出现的索引
* String substring(int start):从start开始截取字符串
* String substring(int start,int end):从start开始,到end结束截取字符串。包括start,不包括end
   String类的转换功能
char[] toCharArray():把字符串转换为字符数组
String toLowerCase():把字符串转换为小写字符串
String toUpperCase():把字符串转换为大写字符串

23、String和StringBuilder的区别:
        String的内容是固定的
        StringBuilder的内容是可变的
StringBuilder类的常用方法 A:构造方法:
     StringBuilder()



作者: 小浙姐姐    时间: 2017-12-31 10:04
与其说是技术贴,不如说是让你们加深理解写的一个总结贴。期望,只有和勤奋作伴,才能如虎添翼。认真的人都会有所回报的!就业班加油!但愿后面一切顺利




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2