黑马程序员技术交流社区

标题: 【黑马程序员杭州】JavaEE课程笔记day02-基础知识 [打印本页]

作者: 小江哥    时间: 2017-11-27 20:33
标题: 【黑马程序员杭州】JavaEE课程笔记day02-基础知识
本帖最后由 小江哥 于 2017-11-27 20:33 编辑

02 java基础知识

今日内容介绍
第1章 Eclipse开发工具

1.1
Eclipse概述安装
Eclipse是一个IDE(集成开发环境)IDE(Integrated Development Environment)
集成了代码编写功能,分析功能,编译功能,调试功能等一体化的开发软件。
Eclipse的特点描述:免费、纯Java语言编写、免安装、扩展性强
下载和安装、下载 http://eclipse.org/
安装:绿色版、解压就可以使用(Eclipse)
1.2 Eclipse的基本使用
1.2.1
Eclipse基本操作
选择工作空间
工作空间  其实就是我们写的源代码所在的目录
Eclipse来完成一个HelloWorld案例
A:创建Java项目:点击File或者在最左侧空白处,选择Java项目,在界面中写        一个项目名称,然后Finish即可。
B:创建包:展开项目,在源包src下建立一个包com.itheima
C:创建类:在com.ithiema包下建立一个类HelloWorld
   在界面中写一个类名:HelloWorld,然后finish即可。
D:编写代码:在HelloWorld类写main方法,在main方法中写
   一条输出语句:我是黑马程序员,我骄傲,我自豪。
E:编译:自动编译,在保存的那一刻帮你做好了
F:运行        选择要运行的文件或者在要运行的文件内容中
                 右键 -- Run as - Java Application即可
1.2.2 代码案例一
[Java] 纯文本查看 复制代码
package com.itheima;



public class HelloWorld {

public static void main(String[] args) {

System.out.println("我是黑马程序员,我骄傲,我自豪");

}

}

1.3
Eclipse工作空间的基本配置
        A:行号的显示和隐藏
                显示:在代码区域的最左边的空白区域,右键 -- Show Line Numbers即可。
                隐藏:把上面的动作再做一次。
        B:字体大小及颜色
                a:Java代码区域的字体大小和颜色:
                    window -- Preferences -- General -- Appearance --
                    Colors And Fonts -- Java -- Java Edit Text Font
                b:控制台
                    window -- Preferences -- General -- Appearance -- Colors And Fonts -- Debug -- Console font
                c:其他文件
                    window -- Preferences -- General -- Appearance -- Colors And Fonts -- Basic -- Text Font        
        C:窗体给弄乱了,怎么办?
                window -- Perspective -- Reset Perspective        
        D:控制台找不到了,怎么办?
                Window--Show View—Console
1.4 Eclipse中辅助键和快捷键的使用
1.4.1
常用辅助键和快捷键概述
内容辅助键        alt+/
main        然后alt+/
syso        然后alt+/

快捷键
注释
单行        选中内容,ctrl+/, 再来一次取消
多行        选中内容,ctrl+shift+/, ctrl+shift+\
格式化                ctrl+shift+f
1.4.2 代码案例
[Java] 纯文本查看 复制代码
package com.itheima_02;
/*
* 内容辅助键:alt+/
*                 A:main方法
*                         main,然后alt+/,回车
*                 B:输出语句
*                         syso,然后然后alt+/,回车
*
* 快捷键:
*                 A:注释
*                         单行        选中内容,ctrl+/,再来一次就是取消
*                         多行        选择内容,ctrl+shift+/,ctrl+shift+\
*                 B:格式化
*                         ctrl+shift+f
*/
public class HelloWorld {
        public static void main(String[] args) {
                System.out.println("HelloWorld1");
                System.out.println("HelloWorld2");
                System.out.println("HelloWorld3");
                System.out.println("HelloWorld4");
                System.out.println("HelloWorld5");
        }
}

1.5 Eclipse中项目的删除和导入
        A:删除项目
                选中项目 – 右键 – 删除
                从项目区域中删除
                从硬盘上删除
        B:导入项目
                在项目区域右键找到import
                找到General,展开,并找到
                Existing Projects into Workspace
                点击next,然后选择你要导入的项目
                注意:这里选择的是项目名称


第2章 运算符


2.1
算数运算符
运算符
对常量和变量进行操作的符号称为运算符
表达式
用运算符把常量或者变量连接起来符号java语法的式子就可以称为表达式。
不同运算符连接的式子体现的是不同类型的表达式。
定义两个int类型的变量a,b,做加法(a + b)
常用运算符
算术运算符
赋值运算符
关系运算符
逻辑运算符
三元运算符

2.1.1 算数运算符的基本用法2.1.2 算数运算符概述
A:什么是运算符
         就是对常量和变量进行操作的符号。
B:算数运算符有哪些
         * +,-,*,/,%,++,--
2.1.3 代码案例
[Java] 纯文本查看 复制代码
package com.itheima_01;
/*
* 运算符:对常量和变量进行操作的符号
* 表达式:用运算符连接起来的符合java语法的式子。不同类型的运算符连接起来的式子是不同的表达

式。
*                 举例:定义两个int类型的变量a,b,
*                         a + b
*
* 运算符分类:
*                 算术运算符,赋值运算符,关系运算符,逻辑运算符,三元运算符。
*
* 算术运算符:
*                 +,-,*,/的基本使用
*/
public class OperatorDemo {
        public static void main(String[] args) {
                // 定义两个变量
                int a = 3;
                int b = 4;
                System.out.println(a + b);
                System.out.println(a - b);
                System.out.println(a * b);
                System.out.println(a / b);
                // 整数相除只能得到整数,要想得到小数,就必须有浮点数参与运算
                System.out.println(3 / 4.0);
                System.out.println(3.0 / 4);
        }
}

2.1.4 算数运算符取余和除法的区别
%:取余运算符。得到的是两个相除数据的余数。
/   : 除法运算符。得到是两个相除数据的商。
使用场景 %:判断两个数据是否整除。
2.1.5 代码案例
[Java] 纯文本查看 复制代码
public class OperatorDemo2 {
        public static void main(String[] args) {
                int a = 5;
                int b = 3;
                System.out.println(a / b);
                System.out.println(a % b);
        }
}

2.1.6 字符和字符串参与加法操作
字符参与运算
其实是拿该字符对应的数值来操作
‘a’        97
‘A’        65
‘0’        48
字符串参与运算
这里其实做的不是加法运算,而是字符串拼接。
字符串和其他类型的数据做拼接,结果是字符串类型的。
2.1.7 代码案例
[Java] 纯文本查看 复制代码
package com.itheima_01;
/*
* 整数的加法。
* 字符参与加法操作。拿字符在计算机中底层存储对应的数据值来参与运算的。
*                 '0'                48
*                 'a'                97
*                 'A'                65
* 字符串参与加法操作。
*                 这里的+其实不是加法,而是字符串连接符。
*/
public class OperatorDemo3 {
        public static void main(String[] args) {
                // 整数加法
                int a = 10;
                int b = 20;
                System.out.println(a + b);
                System.out.println("------------------");
                // 字符参与加法操作
                char c = '0';
                char c2 = 'a';
                System.out.println(a + c);
                System.out.println(a + c2);
                System.out.println("------------------");
                // 字符串参与加法操作
                System.out.println("hello" + a);
                System.out.println("hello" + a + b); // "hello"+10,然后再和b进行拼接
                System.out.println(a + b + "hello");
        }

2.1.8 算数运算符++和- - 用法
++,--运算符:对变量做加1或者减1的操作。
++或者--既可以放在变量的后面,也可以放在变量的前面。
单独使用的时候,++或者--无论是放在变量的前面还是后面,结果是一样的。
参与操作的时候:
                 如果++或者--在变量的后面,先拿变量参与操作,后变量做++或者--
                如果++或者--在变量的前面,先变量做++或者--,后拿变量参与操作
2.1.9 代码案例六
[Java] 纯文本查看 复制代码
public class OperatorDemo4 {
        public static void main(String[] args) {
                int a = 10;
                System.out.println("a:" + a);
                // 单独使用
                // a++;
                // ++a;
                // System.out.println("a:" + a);
                // 参与操作使用
                // int b = a++;
                int b = ++a;
                System.out.println("a:" + a);
                System.out.println("b:" + b);
        }
}

2.2 赋值运算符
2.2.1
赋值运算符分类
基本的赋值运算符:=
扩展的赋值运算符:+=,-=,*=,/=,%=
+=:        a+=20;相当于a = (a的数据类型)(a + 20);
2.2.2 代码案例
[Java] 纯文本查看 复制代码
package com.itheima_02;
/*
* 赋值运算符:
*                 A:基本        =
*                 B:扩展        +=,-=,*=,...
*
* +=:
*                 a+=20;
*                 相当于
*                 a = (a的数据类型)(a + 20);
*/
public class OperatorDemo {
        public static void main(String[] args) {
                // 把10赋值给int类型的变量a
                int a = 10;
                // += 把左边和右边的数据进行运算,最后赋值给左边。左边的只能是变量
                a += 10;// 相当于a = a + 10
                System.out.println("a:" + a);
                System.out.println("----------------------");
                short s = 10;
                // s += 20; // 相当于 s = s + 20;
                s = (short) (s + 20);
                System.out.println("s:" + s);
        }
}

2.3 关系运算符
2.3.1 基本使用注意事项
关系运算符包含以下内容:
==,!=,>,>=,<,<=
关系运算符的结果都是boolean型,也就是要么是true,要么是false。
注意事项:
关系运算符“==”不能误写成“=”
2.3.2 代码案例八
[Java] 纯文本查看 复制代码
package com.itheima_03;
/*
* 关系运算符:
*                 ==,!=,>,>=,<,<=
*                 关系运算符的结果是boolean类型。
*
* 注意:
*                 千万不要把==写成=
*/
public class OperatorDemo {
        public static void main(String[] args) {
                int a = 10;
                int b = 20;
                int c = 10;
                System.out.println(a == b);
                System.out.println(a == c);
                System.out.println("-----------------");
                System.out.println(a != b);
                System.out.println(a != c);
                System.out.println("-----------------");
                System.out.println(a > b);
                System.out.println(a > c);
                System.out.println("-----------------");
                System.out.println(a >= b);
                System.out.println(a >= c);
                System.out.println("-----------------");
                int x = 3;
                int y = 4;
                // System.out.println(x == y);
                // System.out.println(x = y);// 把y赋值给x,把x的值输出
                boolean bb = (x == y);
                // 报错
                // boolean cc = (x = y);
                int cc = (x = y);
        }
}

2.4 逻辑运算符
2.4.1 逻辑运算符概述
A:逻辑运算符有哪些
        &,|,^,!
        &&,||
B:案例演示
   逻辑运算符的基本用法

C:注意事项:
        a:逻辑运算符一般用于连接boolean类型的表达式或者值。
        b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
                算术表达式:a + b
                比较表达式:a == b(条件表达式)
D:结论:
         &逻辑与:有false则false。
         |逻辑或:有true则true。
         ^逻辑异或:相同为false,不同为true。
         !逻辑非:非false则true,非true则false。
        特点:偶数个不改变本身。
2.4.2 代码案例九
[Java] 纯文本查看 复制代码
package com.itheima_04;
/*
* 逻辑运算符:用于连接关系表达式。
* &,|,^,!
* &&,||
*
* 与:&        有false则false
* 或:|        有true则true
* 异或:^ 相同则false,不同则true。(男女朋友)
* 非:!        true则false,false则true
*/
public class OperatorDemo {
        public static void main(String[] args) {
                int a = 10;
                int b = 20;
                int c = 30;
                System.out.println((a > b) & (a > c));// false & false
                System.out.println((a < b) & (a > c)); // true & false
                System.out.println((a > b) & (a < c)); // false & true
                System.out.println((a < b) & (a < c)); // true & true
                System.out.println("---------------");
                System.out.println((a > b) | (a > c));// false | false
                System.out.println((a < b) | (a > c)); // true | false
                System.out.println((a > b) | (a < c)); // false | true
                System.out.println((a < b) | (a < c)); // true | true
                System.out.println("---------------");
                System.out.println((a > b) ^ (a > c));// false ^ false
                System.out.println((a < b) ^ (a > c)); // true ^ false
System.out.println((a > b) ^ (a < c)); // false ^ true
                System.out.println((a < b) ^ (a < c)); // true ^ true
                System.out.println("---------------");
                System.out.println((a > b)); // false
                System.out.println(!(a > b)); // !false
                System.out.println(!!(a > b)); // !!false
        }
}

2.4.3 逻辑运算符&&&的区别
A:&&和&的区别?
        a:最终结果一样。
        b:&&具有短路效果。左边是false,右边不执行。
        &是无论左边是false还是true,右边都会执行
B:||和|的区别?
        a:最终结果一样
        b:||具有短路效果.左边是true,右边不执行
        |是无论左边是false还是true,右边都会执行
2.4.4 代码案例十:
[Java] 纯文本查看 复制代码
package com.itheima_04;
/*
* &&和&的结果一样
* ||和|的结果一样
*
* &&和&的区别:
*                 &&如果左边是false,右边不执行。
*                 &无论左边是true还是false,右边都会执行。
*/
public class OperatorDemo2 {
        public static void main(String[] args) {
                int a = 10;
int b = 20;
                int c = 30;
                System.out.println((a > b) && (a > c));// false && false
                System.out.println((a < b) && (a > c)); // true && false
                System.out.println((a > b) && (a < c)); // false && true
                System.out.println((a < b) && (a < c)); // true && true
                System.out.println("---------------");
                System.out.println((a > b) || (a > c));// false || false
                System.out.println((a < b) || (a > c)); // true || false
                System.out.println((a > b) || (a < c)); // false || true
                System.out.println((a < b) || (a < c)); // true || true
                System.out.println("---------------");
                int x = 3;
                int y = 4;
                // System.out.println((x++ > 4) & (y++ > 5)); // false & false
                System.out.println((x++ > 4) && (y++ > 5)); // false && false
                System.out.println("x:" + x);
                System.out.println("y:" + y);
        }
}

2.5 三元运算符
2.5.1 三元运算符概述
A:格式
        (关系表达式)?表达式1:表达式2;
        如果条件为true,运算后的结果是表达式1;
        如果条件为false,运算后的结果是表达式2;
B:示例:
        获取两个数中大数。
        int x=3,y=4,z;
        z = (x>y)?x:y;//z变量存储的就是两个数的大数
2.5.2 代码案例十一
[Java] 纯文本查看 复制代码
package com.itheima_05;
/*
* 三元运算符:
*
* 格式:
*                 (关系表达式)?表达式1:表达式2;
* 执行流程:
*                 A:计算关系表达式的值,看是true还是false
*                 B:如果是true,表达式1就是运算结果
*                       如果是false,表达式2就是运算结果
*/
public class OperatorDemo {
        public static void main(String[] args) {
                int a = 10;
                int b = 20;
                int c = (a > b) ? a : b;
                System.out.println("c:" + c);
        }
}

2.5.3 代码案例十二(比较两个数是否相同)
[Java] 纯文本查看 复制代码
package com.itheima_05;
/*      
* 三元运算符的练习
* 比较两个整数是否相同
*/
public class OperatorTest {
        public static void main(String[] args) {
                // 定义两个int类型的变量
                int a = 10;
                int b = 20;
                boolean flag = (a == b) ? true : false;
                // boolean flag = (a == b);
                System.out.println(flag);
        }
}

2.5.4 代码案例十三(获取三个数中的最大值)
[Java] 纯文本查看 复制代码
package com.itheima_05;
/*
* 获取三个整数中的最大值
*/
public class OperatorTest2 {
        public static void main(String[] args) {
                // 定义三个int类型的变量
                int a = 10;
                int b = 30;
                int c = 20;
                // 先比较两个整数的大值
                int temp = ((a > b) ? a : b);
                int max = ((temp > c) ? temp : c);
                System.out.println("max:" + max);
        }
}

第3章 键盘录入

3.1
键盘录入的基本步骤

3.1.1
键盘录入数据概述
我们目前在写程序的时候,数据值都是固定的,但是实际开发中,数据值肯定是变化的,所以,把数据改进为键盘录入,提高程序的灵活性。
键盘录入数据的步骤:
A:导包(位置放到class定义的上面)
        import java.util.Scanner;
B:创建对象
        Scanner sc = new Scanner(System.in);
C:接收数据
        int x = sc.nextInt();
3.1.2 代码案例十四
[Java] 纯文本查看 复制代码
package com.itheima;
import java.util.Scanner;
/*
* 为了提高程序的灵活性,我们就把数据改进为键盘录入。
* 如何实现键盘录入呢?目前我们只能使用JDK提供的类Scanner。
* 这个使用的步骤,目前大家记住就可以了。
*
* 使用步骤:
*                 A:导包
*                         import java.util.Scanner;
*                         类中的顺序:package > import > class
*                 B:创建对象
*                         Scanner sc = new Scanner(System.in);
*                 C:接收数据
*                         int i = sc.nextInt();
*/
public class ScannerDemo {
        public static void main(String[] args) {
                //创建键盘录入数据的对象
                Scanner sc = new Scanner(System.in);
               
                //接收数据
                System.out.println("请录入一个整数:");
                int i = sc.nextInt();
               
                //输出数据
                System.out.println("i:"+i);
        }
}

3.2 键盘录入练习
3.2.1
键盘录入两个数据并求和
  键盘录入两个数据,并对这两个数据求和,输出其结果
  键盘录入:
                  A:导包
                  B:创建对象
                  C:接收数据
3.2.2 代码案例十五
[Java] 纯文本查看 复制代码
package com.itheima;
import java.util.Scanner;
public class ScannerTest {
        public static void main(String[] args) {
                // 创建对象
                Scanner sc = new Scanner(System.in);
                // 接收数据
                System.out.println("请输入第一个数据:");
                int a = sc.nextInt();
                System.out.println("请输入第二个数据:");
                int b = sc.nextInt();
                // 对数据进行求和
                int sum = a + b;
                System.out.println("sum:" + sum);
        }
}

3.2.3 键盘录入两个数据比较是否相等
键盘录入两个数据,比较这两个数据是否相等
3.2.4 代码案例十六
[Java] 纯文本查看 复制代码
package com.itheima;
import java.util.Scanner;
/*
* 键盘录入两个数据,比较这两个数据是否相等
*/
public class ScannerTest2 {
        public static void main(String[] args) {
                // 创建对象
                Scanner sc = new Scanner(System.in);
                // 接收数据
                System.out.println("请输入第一个数据:");
                int a = sc.nextInt();
                System.out.println("请输入第二个数据:");
                int b = sc.nextInt();
                // 比较两个数据是否相等
                // boolean flag = ((a == b) ? true : false);
                boolean flag = (a == b);
                System.out.println("flag:" + flag);
        }
}

3.2.5 键盘录入三个数据获取最大值
键盘录入三个数据,获取这三个数据中的最大值
3.2.6 代码案例十七
[Java] 纯文本查看 复制代码
package com.itheima;
import java.util.Scanner;
/*
* 键盘录入三个数据,获取这三个数据中的最大值
*/
public class ScannerTest3 {
        public static void main(String[] args) {
                // 创建对象
                Scanner sc = new Scanner(System.in);
                // 接收数据
                System.out.println("请输入第一个数据:");
                int a = sc.nextInt();
                System.out.println("请输入第二个数据:");
                int b = sc.nextInt();
                System.out.println("请输入第三个数据:");
                int c = sc.nextInt();
                // 如何获取三个数据的最大值
                int temp = (a > b ? a : b);
                int max = (temp > c ? temp : c);
                System.out.println("max:" + max);
        }
}

作者: 咸鱼666    时间: 2017-11-27 20:39
不错,收藏一下,备用
作者: 许言    时间: 2017-11-27 20:42
顶顶顶顶顶
作者: nhm    时间: 2017-11-27 20:44
厉害了很详细
作者: 从此学好    时间: 2017-11-27 20:44
每天学习一点点,月入过万不是梦
作者: 阿布乙    时间: 2017-11-27 20:44
很简洁详细
作者: 采姑娘的小蘑菇    时间: 2017-11-27 20:45
哇哇全是干货
作者: 秋子菇凉    时间: 2017-11-27 20:46
不明觉厉!继续加油!
作者: gy_yt    时间: 2017-11-27 20:48
很强,很详细
作者: 奔跑地小少女    时间: 2017-11-27 20:48
更新啦,有福了
作者: 刘华莎    时间: 2017-11-27 20:49
棒棒哒
作者: swallow25715902    时间: 2017-11-27 20:57
内容很详细,易懂!
作者: 猫先森    时间: 2017-11-27 21:02
通俗易懂,66666
作者: PHP老曹    时间: 2017-11-27 21:08
顶了,不错
作者: 程代明    时间: 2017-11-27 21:09
很详细 顶
作者: huangjinchao.ar    时间: 2017-11-27 21:15
虽然看不懂,但还是觉得思路清晰,很棒
作者: yuxiaoyi    时间: 2017-11-27 21:53
棒棒哒有用
作者: lixianglin    时间: 2017-11-27 21:53
瑞伟哥威武,写的棒棒的!
作者: 宋子    时间: 2017-11-27 21:55
我是黑马程序员,我自豪,我骄傲
作者: fangmifang618    时间: 2017-11-27 22:03
666666666666
作者: 张艺凡老师    时间: 2017-11-27 22:08
很有用,加油
作者: patronli    时间: 2017-11-27 23:31
66666666666666
作者: 小核桃仁    时间: 2017-11-28 09:30
棒棒哒
作者: 慧-wh    时间: 2017-11-28 19:18
厉害了666




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