黑马程序员技术交流社区

标题: 【石家庄校区】周总结,多多交流 [打印本页]

作者: perry2017    时间: 2017-11-30 01:02
标题: 【石家庄校区】周总结,多多交流
本帖最后由 小石姐姐 于 2017-12-2 15:15 编辑

<font size=6 face="微软雅黑">**JavaSE Day01**</font>

##*Java语言发屏史*
    JDK版本
##*Windows基础操作*
* *cmd命令*   
    切换盘符
    如果想进入某个盘符,(不用cd命令)直接输入盘符。

##**Java编码风格**
*     <font color=red size=3 face="微软雅黑">**类名的首字母要大写**</font>
```
    eg: public class HelloWorld{//...}
```   
*    <font size=3 face="微软雅黑">其他所有内容--<font color=red>**方法、字段(成员变量)以及对象用名称等**</font>,公认的风格与类的风格一样,只是标识符的第一个字母采用小写。</font>

```java
    class AllTheColorsOfTheRainbow{
        int anIntegerRepresentingColors;        
        void changeTheHueOfTheColor(int newHue){
            //...
        }
    }
```
* <font size=3 face="微软雅黑">包的命名,<font color=red>**全部是小写**</font></font>

##Java的static String
`static的使用方法`

##<font color=red face="微软雅黑">Java常量、变量</font>
*    <font size=4 face="微软雅黑">**关键字**
组成关键字的字母全部都是小写
*    **标识符**
    *    Unicode
    *    下划线 `_`
    *    美元符 `$`

*    **变量**
    *    变量初始化值
</font>

## 数据类型 <font size=4>
* **基本数据类型**
    *    整型
    用于表示没有小数部分的数值,它允许是负数。
----
类型----------存储字节---
int---------------4字节
short------------2字节
long-------------8字节
byte-------------1字节
----
    *    浮点类型
    *    char类型
    *    布尔类型
</table>
*    **引用数据类型**
    *    接口
    *    类
    *    数组

## <font size=5 color=red>**类型转换**  </font>
* 隐式转换
  byte,short,char -->int,long,float,double
* 强制转换  目标类型 变量名 = (目标类型)(变量/表达式)

# **JavaSE_Day2**
## Eclipse的辅助键和快捷键

* 内容辅助键: `Alt + /`
    * 快速写main方法: 写`main`, 然后按`Alt + /`
    * 快速写输出语句: 写`syso`, 然后按`Alt + /`
* 更快速的自动提示设置, 连辅助键都不用按:
    1. `Window > Preferences > Java > Editor > Content Assist`
    2. 找到右侧Auto Activation(自动激活)
        * 将Auto activation delay(ms)的值设置为: 0 (激活提示的延迟时间)
        * 将Auto activation trigers for Java的值设置为: .abcde...xyz (激活提示的字符)
    3. 点击Apply
* 快捷键:
    * 单行注释的开启和取消: `Ctrl + /`
    * 多行注释的开启: `Ctrl + Shift + /`
    * 多行注释的取消: `Ctrl + Shift + \`
    * 自动格式化代码: `Ctrl + Shift + f`

## Eclipse项目的删除和导入

* 删除项目
    * `右键点击项目 > Delete > 弹窗询问是否同时从硬盘删除项目? Yes/No`
* 导入项目
    * `项目窗口内, 点击右键 > Import > 窗口中选择General > Existing Projects into Workspace > Next > Select Root Directory选择要导入的项目的根目录 > Finish`
* 查看项目的路径:
    * `右键点击项目 > Properties > 查看Location`

## 算术运算符的基本用法

* 运算符:
    * 用于对常量和变量进行操作的符号
* 表达式:
    * 用运算符链接起来的, 符合Java语法的式子.
    * 不同的运算符链接的表达式是不同类型的表达式
* 5种运算符:
    1. 算数运算符
        * `+`: 加
        * `-`: 减
        * `*`: 乘
        * `/`: 除 (整数相除结果是整数, 有浮点数参与运算, 结果才为浮点数)   除法: 4 / 3 商1 余1
        * `%`: 取余
        * `++`: 自增1
        * `--`: 自减1
    2. 赋值运算符
    3. 关系运算符
    4. 逻辑运算符
    5. 三元运算符
* 注意:
    * 整数相除只能得到整数, 有小数参与运算才能得到小数
        * 如: `10 / 3 = 3`, `10.0 / 3 = 3.33333333335`

## 算术运算符取余和除法的区别

* 取余:
    * 两数相除后的余数, 5 % 3 = 2
* 除法:
    * 两数相除后的商, 5 / 3 = 1

## 字符和字符串参与加法操作

* 字符参与加法运算:
    * 其实是拿字符在计算机中存储的数据值来参与运算的
        * 'A' = 65
        * 'a' = 97
        * '0' = 48
    * 注意:
        * char类型在算数运算时按照数值来计算
        * 如果打印的是char类型, 则打印出的是数值所代表的字符, 而不是数值
        * 如果打印的是char和数字计算的结果, 因为运算会有隐式类型转换, 所以最终打印的是数字
```java
System.out.println('A');       // 打印字符A
System.out.println('A' + 10);  // 打印75. 因为最终计算结果是int类型, 65 + 10 = 75
```
* 字符串参加加法(拼接)
    * 其实不做加法运算, 而是拼接字符串
        * `System.out.println("hello" + 10);`: hello10
        * `System.out.println(10 + 20 + "hello");`: 30hello
            * 注意: `10 + 20 + "hello"`中, 10和20会先进行算术加法得到30, 才能和字符串"hello"拼接
        * `System.out.println(10 + 10 + "");`: 20

## 算术运算符++和--的用法

* `++`: 自增, 用于对变量加一
* `--`: 自减, 用于对变量减一
* 运算符放在变量前和变量后的区别:
    * 单独使用时(即只有`i++;``++i;`), 没有区别, 都是自增
    * 参与其他操作时:
        * `int a = i++`:
            * 先使用i本身的值作为i++表达式的值
            * 然后i再自增(i自增后不影响之前i++表达式的值)
            * 最后将等号右边的值赋值给左边a
        * `int a = ++i`:
            * i先自增
            * 然后将自增后的值作为++i表达式的值
            * 最后将等号右边的值赋值给左边

#JavaSE_day03
<font size=4 face="微软雅黑">

## *循环控制*
* 循环**四个**组成部分
    * 初始化语句
    * 判断条件语句
        * boolean表达式
    * 控制条件语句
    * 循环体语句

* 三种循环
    * for循环
        * *格式*:>>>>
>for (初始化语句; 判断条件语句(boolean类型); 控制条件语句) {....}

    *    while循环
        * 格式 >>>>
>while (判断条件语句) {
    循环体语句
    控制条件语句
}

    * do...while循环
        *    格式>>>>
>do {
    循环体语句
    控制条件语句
}while (判断条件语句);
        *    至少执行一次。

* 推荐循环使用顺序:for-->while--->do while

* 转跳控制语句break,continue
    * break 解决死循环【结束整个循环】
    * continue结束本次循环,向上返回。执行下一次循环。while

# JavaSE_day04

## *Random*
   
    import java.util.Random
   
*    [0,10) 包括0不包括10

## 数组
*    存储同一类型
*    数据是容器
*    定义格式
    *    数据类型[] 数据名;<font color=red >**(推荐类型)**</font>
        ```java
        int[] arr; //定义了一个int类型的数组,数组名是arr
        ```
    *    数据类型 数据名[];
        ```java
        int arr[]; //定义了一个int类型的arr数组
        ```
    *    初始化(内存中开辟空间)
        *    动态初始化
            ```java
            int[] arr = new int[3];
            ```
        *    静态初始化
            ```java
            数格式:据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3,...}
            简化格式:数据类型[] 数组名 = {元素1, 元素2, 元素3,...}
            ```

    ###    二维数组
    *    格式>>>>>>
    数据类型[][] 数组名;

    *    动态初始化
        *    数据类型[][] = new 数据类型 [m][n]
        *    `m`    :

## Java内存<font color = red size = 4>
*    栈--存储局部变量
    *    使用完毕后,立即回收
*    堆--存储new出来的东西(实体、对象)
    *    每一个对象的数据都有默认值,
    *    **地址值**
    *    会被垃圾回收器回收(空闲时)
*    方法区
*    寄存器---给CPU使用
*    本地方法区(和系统相关)
</font>

# JavaSE_day05

## 方法<font size=4 >
*    格式 >>>>
```java
    修饰符 返回值类型 方法名 (参数类型 参数1, 参数2……){...}
```
    *    返回值类型
        *    有明确返回值
            1.    单独调用,没有意义
            2.    输出调用,不够好(结果可能需要进行进一步的调用)
            3.    赋值调用
    *    参数列表
    *    retrun
        *    结束方法
        *    返回值
    *    Void
        没有返回值,其特点是:<font color=red>
        *    **只能单独调用**
            **不能输出调用**
            **不能赋值调用。**
        </font>

## 方法重载
*    方法名一样
*    参数不一样(参数的个数不同/类型不同)
*    与返回值无关(void int float double)

</font>

##    形参与实参
*    形参的值不会影响实参
*    如果方法的参数是基本数据类型,形式参数不影响实际参数。
*    如果形参是引用类型,将直接影响实参
*    如果参数是引用类型,那么将会直接影响实参







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