第二章 基本程序设计

来源:互联网 发布:江西省网络作家协会 编辑:程序博客网 时间:2024/05/16 09:34
  1. 加号(+)有两种意义: 
    • 做加法
    • 做字符串的连接(合并)
  2. 从控制台读取输入
    Java使用 System.out 来表示输入设备,使用 System.in 来表示输入设备. 默认情况下,输出设备是显示器,输入设备是键盘.
    Java并不直接支持控制台输入,但是可以使用 Scanner 类创建它的对象,用来读取来自 System.in 的输入:      
    <span style="font-size:14px;">Scanner input = new Scanner(System.in);</span>
    要使用Scanner对象需要导入该类
    <span style="font-size:14px;">import java.util.Scanner</span>
    通配符导入是指通过使用型号作为通配符,导入一个保重所有的类.
    <span style="font-size:14px;">import java.util.*;</span>
  3. IPO
    输入、处理和输出,被称为IPO.
  4. 标识符(identifier)
    为了标识程序中类、方法和变量的元素二采用的命名。
    标识符命名规则:
    • 由 字母、数字、下划线(_)和美元符号($)构成的字符序列。
    • 必须用 字母、下划线(_)或美元符号($)开头,不能用数字开头。
    • 不能是Java中的保留字
    • 不能是 true   false  或 null
    • 可以任意长度
    • 不要用美元符号($)命名标识符。习惯上,字符 $ 只用在机器自动产生的源代码中
    • Java是区分大小写的
  5. 变量
    用于表示在程序中可能被改变的值。
    • 声明语法
        datatype variableName; (变量类型  变量名;)
    • 如果几个变量为统一类型,允许一起声明他们,变量之前用逗号分隔开
        datatype variable1 , variable2 , variable3 , ... , variablen ;
    • 使用 等号(=)进行赋值
      variable = expression;  (变量 = 表达式 ;)
    • 声明可以和赋值同时进行
    • 在赋值给变量之前,必须声明变量。方法中声明的变量在使用之前必须被赋值
  6. 常量/命名常量(named constant)
    表示从不改变的永久数据。
    • 声明语法
      final datatype CONSTANTNAME = value ;
    • 三个好处
      1. 不必重复输入同一个值
      2. 不过必须修改常量值,只需在源代码中声明赋值处做改动
      3. 给常量赋一个描述性名字会题号程序易读性
  7. 命名习惯
    • 使用小写字母命名变量和方法。若包含多个单词,就将他们连载一起,第一个单词的字母小写,而后面的每个单词的首字母大写
    • 类名中的每个单词的首字母大写,不要选择Java库中已经使用的名字
    • 大写长两种的所有字母,连个单词间用下划线连接
  8. Java使用两种浮点数
    • float 单精度(single precision)
    • double 双精度(double precision)
  9. 除法(/)注意事项
    当除法的操作数都是整数时,除法的结果就是整数,小数部分被舍去。
    只有当被除数是负数时,余数才是负的
  10. 幂运算
    直接使用方法  Math.pow(a, b)  
    a为底数 b为幂
  11. 直接量(literal)
    是一个程序中直接出现的常量值
    • 整形直接量  例: 1 , 10 ,456L  
    • 浮点型直接量  例:  1.0  , 1.2F
    • 科学计数法(为浮点数)     aEb   即  a乘以 10的b次方
  12. 运算优先级
    • 最首先执行的是包括在圆括号里的运算,圆括号可以嵌套,嵌套时限计算内层括号
    • 乘法、除法和求余首先运算
    • 最后执行加法和减法运算
    • 同级按照从左到右顺序执行
  13. 增强操作符(+= 、-= 、*= 、/= 、%=)
    • 增强操作符中没有空格
    • 既可以构成赋值语句,也可以构成赋值表达式。
      <span style="font-size:14px;">count = count + 1;//a表达式count += 1;//b表达式//a表达式可以简写成b表达式</span></span>
  14. 自增和自减操作符(  ++  、 -- )
    • 增强操作符中没有空格
    • 既可以构成复制语句,也可以构成赋值表达式。
      <span style="font-size:14px;">int i =3;i++;  //i自增1 变为4i--; //i自减1 从4变成3;</span>
    • 前置与后置效果不同
      • 前置时(++var):var的值加1 却使用var增加后的新值
      • 后置时(var++):使用完var的原值 之后var的值加1
      • 自减同理
      • 避免在同一个表达式中使用这些操作符修改多个变量或多次修改同一个变量,会使代码让别人难以读懂
  15. 数值类型转换
    总是可以将一个数值赋给支持更大数值范围类型的变量 ,例:long型的值可以直接赋值给float型变量
    强制类型转换(大范围转小范围)
    语法要求目标类型放在括号内,紧跟其后的是转换的变量名或值   
    <span style="font-size:14px;">int i = (int)1.7;//此时 i 的值为 1</span>
    使用类型转换时必须小心,强转时会丢失精度、信息
    类型转换不改变转换的变量
    <span style="font-size:14px;">double b = 1.7; int i = (int)b;//此时 i 的值为 1 ,b 的值还为 1.7</span>
  16. 小方法   
    1. 将多位浮点数转换为小数点后只有两位
      <span style="font-size:14px;">double a = 1.1234; System.out.print((int)(a * 100) / 100.0);</span>
    2. 显示当前时间(xx:xx:xx)
      直接调用System.currentTimeMillis() 返回当前时间 返回值为 long 型   
      返回自UNIX时间戳以来的毫秒数(1970年1月1日00:00:00开始到当前时刻的毫秒数)
      <span style="font-size:14px;">long totalMilliseconds = System.currentTimeMillis();long totalSeconds = totalMilliseconds / 1000;long currentSecond = totalSeconds % 60;long totalMinutes = totalSeconds / 60;long currentMinute = totalMinutes % 60;long totalHours = totalMinutes / 60 + 8;//中国时区 +8小时long currentHour = totalHours % 24 ;System.out.println("China current time is " + currentHour + " : " + currentMinute + " : " + currentSecond);</span>
  17. 软件开发过程
    无论软件大小,都具有同样的声明周期:需求规范、分析、设计、实现、测试、部署和维护
    • 系统分析   旨在分析数据流,并且确定系统的输入和输出
    • 系统设计   是设计一个从输入获得输出的过程
    • 实现          是将系统设计翻译成程序
    • 系统分析和设计的本质是 输入、处理和输出(IPO)
    • 入门级、初学者,重点关注 :分析,设计,实现和测试
  18. 溢出 
    当一个变量被赋予一个过大(以存储大小而言)的值,即超出数据类型范围,以致无法存储该值,这称为溢出。
    如果存储的浮点数很小(例如,接近于0),这会引起向下溢出。Java会将它近似为0,所以一般情况不用考虑向下溢出问题。
  19. 取整错误
    <span style="font-size:14px;">//例System.out.println(1 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1);//此时显示是 0.5000000000000001, 而不是0.5 //这种情况称为取整错误,整数不会出现,浮点数出现</span>
    因为一个变量的保存位数是有限的,因此取证错误是无法避免的




0 0
原创粉丝点击