零基础学习Java 02

简介: 零基础学习Java 02

逻辑运算符

  1. 短路运算符:“&&” 、 “||”
  2. 非短路运算符:“&” 、 " | "
  3. 短路运算符与非短路运算符的区别:短路运算符两边表达式有可能只执行一边的表达式,效率较高,最常用;非短路运算符两边表达式无论什么情况都会执行。
  4. 最最常用的逻辑运算符:“&&” 、 “||” 、 " ! "

 

输入操作

步骤如下:

  1. 导包(必须放在类class与包名package的中间)
import java.util.Scanner;
  1. 创建Scanner对象
Scanner input = new Scanner(System.in);
  1. 接收数据
int n = input.nextInt();
  1. 注:
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、最后分析类与类之间的关系
  • 面向对象开发就是不断的创建对象、使用对象、指挥对象做事情
  • 面向对象设计就是在管理和维护对象之间的关系
  • 所有面向对象的编程语言都具有的三大特征:封装、继承、多态

:采用面向对象的方式开发一个软件的生命周期

  1. 面向对象的分析(OOA)
  2. 面向对象的设计(OOD)
  3. 面向对象的编程(OOP)

  • 包的定义:包其实就是文件夹
  • 包的作用:1、把相同的类名放到不同包中;2、对类进行分类管理(分类方案:1、按照功能分,如增删改查;2、按照模块分,如老师、学生,每个模块中有对应的功能)
  • package语句必须是程序的第一条可执行的代码,注释除外
  • package语句在一个java文件中只能有一个
  • 如果没有package,默认无包名(default)
  • 拥有包访问权限的类才能访问某个包中的类
  • 同一个包中不允许有相同名字的类,不同包中类的名字可以相同,当同时调用两个不同包中的相同类名的类时,应当加上包名加以区分
相关文章
|
17天前
|
设计模式 架构师 Java
Java开发工程师转架构师需要学习什么
Java开发工程师转型为架构师需掌握多项技能:精通Java及框架、数据库与分布式系统;熟悉设计模式与架构模式;积累项目经验;提升沟通与领导力;持续学习新技术;培养系统设计与抽象能力;了解中间件及开发工具;并注重个人特质与职业发展。具体路径应结合个人目标与实际情况制定。
42 18
|
1月前
|
监控 Java 调度
【Java学习】多线程&JUC万字超详解
本文详细介绍了多线程的概念和三种实现方式,还有一些常见的成员方法,CPU的调动方式,多线程的生命周期,还有线程安全问题,锁和死锁的概念,以及等待唤醒机制,阻塞队列,多线程的六种状态,线程池等
102 6
【Java学习】多线程&JUC万字超详解
|
2月前
|
前端开发 Java 编译器
【前端学java】如何从前端视角快速学习Maven
【8月更文挑战第12天】如何从前端视角快速学习Maven
43 2
【前端学java】如何从前端视角快速学习Maven
|
2月前
|
存储 算法 Java
Java零基础(1) - 从零开始学习数组
【8月更文挑战第1天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
34 1
|
2月前
|
Java 测试技术 开发者
Java零基础教学(07):学习正确的命名规范
【8月更文挑战第7天】Java零基础教学篇,手把手实践教学!
94 0
|
3月前
|
设计模式 算法 Oracle
Java语言学习路径及学习资源推荐
Java语言学习路径及学习资源推荐
|
4月前
|
缓存 NoSQL Java
Redis系列学习文章分享---第四篇(Redis快速入门之Java客户端--商户查询缓存+更新+双写一致+穿透+雪崩+击穿+工具封装)
Redis系列学习文章分享---第四篇(Redis快速入门之Java客户端--商户查询缓存+更新+双写一致+穿透+雪崩+击穿+工具封装)
57 0
|
4月前
|
存储 NoSQL Java
Redis系列学习文章分享---第三篇(Redis快速入门之Java客户端--短信登录+session+验证码+拦截器+登录刷新)
Redis系列学习文章分享---第三篇(Redis快速入门之Java客户端--短信登录+session+验证码+拦截器+登录刷新)
67 0
|
4月前
|
存储 NoSQL Java
Redis系列学习文章分享---第二篇(Redis快速入门之Java客户端--Jedis+连接池+SpringDataRedis+RedisTemplate+RedisSerializer+Hash)
Redis系列学习文章分享---第二篇(Redis快速入门之Java客户端--Jedis+连接池+SpringDataRedis+RedisTemplate+RedisSerializer+Hash)
184 0
|
4月前
|
Java Apache
学习Java中的日志系统设计与优化
学习Java中的日志系统设计与优化
下一篇
无影云桌面