逻辑运算符
- 短路运算符:“&&” 、 “||”
- 非短路运算符:“&” 、 " | "
- 短路运算符与非短路运算符的区别:短路运算符两边表达式有可能只执行一边的表达式,效率较高,最常用;非短路运算符两边表达式无论什么情况都会执行。
- 最最常用的逻辑运算符:“&&” 、 “||” 、 " ! "
输入操作
步骤如下:
- 导包(必须放在类class与包名package的中间)
import java.util.Scanner;
- 创建Scanner对象
Scanner input = new Scanner(System.in);
- 接收数据
int n = input.nextInt();
- 注:
1. 整型:input.nextInt(); 2. 单精度浮点型:input.nextFloat(); 3. 双精度浮点型:input.nextDouble(); 4. 字符串类型:input.nextLine();//这种写法可以得到带空格的字符串 5. input.next();//此写法在读取内容时会过滤掉有效字符前面的无效字符,所以这种写法不能得到带空格的字符串 6. 短整型:input.nextShort(); 7. 字节型:input.nextByte(); 8. 字符型:input.next().charAt(i);//i是指从用户输入的字符串中选取第i个单个字符输入到内存中,i从0开始
Java中的命名规则
- 包:实质上是文件夹,用于保证类名的唯一性(区分相同类名)。为了保证包名的唯一性,一般采用公司域名以逆序的形式作为包名,然后对于不同的工程使用不同的子包(域名.项目名.模块名)例:com.horstmann.corejava,且包名全部小写
- 类或接口:大驼峰命名法
- 方法或变量:小驼峰命名法
- 常量:一个单词组成时全部大写,多个单词组成时每个单词大写且单词间用_隔开
- 二进制数:以0b开头
- 八进制数:以0开头
- 十六进制数:以0x开头
有符号数据表示法
在计算机内,有符号数据有三种表示法:原码、反码、补码,所有数据的运算都是采用补码进行的
- 原码:二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位数表示数值大小
- 反码:正数的反码与其原码相同,负数的反码是对其原码逐位取反,但符号位除外
- 补码:正数的补码与其原码相同,负数的补码是在其反码的末位加1
面向对象与面向过程
面向过程:主要关注实现的具体过程,语句之间是因果关系
- 优点:对于业务逻辑比较简单的程序,可以达到快速开发,前期投入成本较低
- 缺点:采用面向过程的方式开发很难解决非常复杂的业务逻辑,另外面向过程的方式导致软件元素之间的耦合度非常高,只要其中一环出现问题整个系统都将受到影响,导致最终的软件扩展力差,由于没有对象的概念,所以无法达到组件复用
面向过程程序设计也称作结构化程序设计或结构化编程,它是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用时一个一个依次调用即可。
面向对象:它是基于面向过程的编程思想,也是一种思考问题的方式,主要关注对象能完成哪些功能,这种思维方法其实就是我们在现实生活中习惯的思维方式,是从人类考虑问题的角度出发,把人类解决问题的思维方式逐步翻译成程序能够理解的思维方式的过程。
面向对象是把构成问题的事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为
- 优点:一种更符合我们思想习惯的思想,将我们从执行者变成指挥者,从而达到将复杂问题简单化的目的。耦合度低,扩展力强,更容易解决现实世界中复杂的业务逻辑,组件复用性强
- 缺点:前期投入成本高,需要进行对象的抽取,大量的系统分析与设计
- 如何建立面向对象思维呢?1、首先分析有哪些类;2、分析每个类应该有什么;3、最后分析类与类之间的关系
- 面向对象开发就是不断的创建对象、使用对象、指挥对象做事情
- 面向对象设计就是在管理和维护对象之间的关系
- 所有面向对象的编程语言都具有的三大特征:封装、继承、多态
注:采用面向对象的方式开发一个软件的生命周期
- 面向对象的分析(OOA)
- 面向对象的设计(OOD)
- 面向对象的编程(OOP)
包
- 包的定义:包其实就是文件夹
- 包的作用:1、把相同的类名放到不同包中;2、对类进行分类管理(分类方案:1、按照功能分,如增删改查;2、按照模块分,如老师、学生,每个模块中有对应的功能)
- package语句必须是程序的第一条可执行的代码,注释除外
- package语句在一个java文件中只能有一个
- 如果没有package,默认无包名(default)
- 拥有包访问权限的类才能访问某个包中的类
- 同一个包中不允许有相同名字的类,不同包中类的名字可以相同,当同时调用两个不同包中的相同类名的类时,应当加上包名加以区分