第02天 java基础知识

今日内容介绍

u Eclipse的安装、配置及使用

u 运算符

u 键盘录入

第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 代码案例一

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 代码案例二

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 代码案例三

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 代码案例四

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 代码案例五

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 代码案例六

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 代码案例七

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    代码案例八

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    代码案例九

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    代码案例十:

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 代码案例十一

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 代码案例十二(比较两个数是否相同)

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 代码案例十三(获取三个数中的最大值)

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    代码案例十四

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    代码案例十五

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    代码案例十六

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    代码案例十七

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);

}

}

java基础-day2的更多相关文章

  1. java基础day2

    Java标识符命名规则: 标识符由字母,下划线“_”.美元符号$或数字组成/ 不能以数字开头 区分大小写 不能是关键字 “ 见名知意” 约定俗成的规则 类名:首字母大写变量名:除第一个单词外小写,其他 ...

  2. 疯狂Java基础Day2

    巩固Java流程控制的学习... 一.用户交互Scanner 通过Scanner类获取用户的输入 import java.util.Scanner; public class Demo1 { publ ...

  3. Java基础-SSM之Spring和Mybatis以及Spring MVC整合案例

    Java基础-SSM之Spring和Mybatis以及Spring MVC整合案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 能看到这篇文章的小伙伴,详细你已经有一定的Java ...

  4. Java基础-SSM之Spring MVC入门篇

    Java基础-SSM之Spring MVC入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Spring MVC简介 1>.什么是Spring MVC 答:Sprin ...

  5. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  6. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  7. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

  8. 【JAVA面试题系列一】面试题总汇--JAVA基础部分

    JAVA基础 基础部分的顺序: 基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法 线程的语法,集合的语法,io 的语法,虚拟机方面的语法 每天几道,持续更新!! 1.一个". ...

  9. 最适合作为Java基础面试题之Singleton模式

    看似只是最简单的一种设计模式,可细细挖掘,static.synchronized.volatile关键字.内部类.对象克隆.序列化.枚举类型.反射和类加载机制等基础却又不易理解透彻的Java知识纷纷呼 ...

随机推荐

  1. select 1 与 select null (转)

    1.Select 1 在这里我主要讨论的有以下几个select 语句: table表是一个数据表,假设表的行数为10行,以下同. 1:select  1 from table 2:select cou ...

  2. linux 用户管理(3)----查看用户登录时间以及命令历史

    1.查看当前登录用户信息 who命令: who缺省输出包括用户名.终端类型.登陆日期以及远程主机. who /var/log/wtmp 可以查看自从wtmp文件创建以来的每一次登陆情况 (1)-b:查 ...

  3. go语言中通过http访问需要认证的api

    func main() { //生成client 参数为默认 client := &http.Client{} //生成要访问的url url := "https://api.XXX ...

  4. luoguP1090 合并果子 (贪心+优先队列)

    题目链接:https://www.luogu.org/problemnew/show/P1090 思路: 典型的贪心题,显然每次选择两个最小的堆合并最后耗费的体力最少,但每次合并之后都需要寻找最小的两 ...

  5. 87. Scramble String (String; DP)

    Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty substrin ...

  6. 72. Edit Distance (String; DP)

    Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2 ...

  7. UVa 12100 Printer Queue(queue或者vector模拟队列)

    The only printer in the computer science students' union is experiencing an extremely heavy workload ...

  8. MATLAB安装libsvm无法使用解决办法(转)

    buaasuozi  这是原作者: 安装libsvm 不成功有可能是你的MATLAB版本或者是编译文件版本的问题,但是不要急着换其他版本....说不定就有别的解决办法呢 首先感谢Lin教授及其实验室提 ...

  9. MQ基础概念和介绍

    一.中间件 MQ是一种中间件产品,至于什么是中间件,中间件能干什么,参见以下链接: http://baike.baidu.com/view/23710.htm 二.WebSphere MQ的原理 We ...

  10. SSH框架整合jar包时的注意事项

    SSH框架整合jar包时的注意事项: 在将三个框架所需的jar整合到一起后,要看一下有没有相同类型但是版本不同的jar包,如果有的话,需要把低版本的jar包删除掉,否则会报错.我这里整合的时候java ...