Java学习日记:Week1---day3 编程的基本概念

  概要:今天的课程主要内容是Java编程中的一些基本概念及规范,包括了标识符,变量及常量,数据类型,运算符等,最后还有个Scanner中几个方法的应用。

     

一、标识符

  标识符通俗点讲就是名字,将每个类,方法,变量,常量通过独特的标识符来进行区分;同一个类中自然不能出现两个相同的标识符。

  Java中的标识符有以下几个基本的规则:

  1. 首位必须以 下划线_  或字母  或美元符$  来开头;
  2. 除首位外由须以  下划线_  或字母  或美元符$  或数字来组成;
  3. 标识符区分大小写且无长度限制;
  4. 不能是Java中的预设关键字;

    Java中的预设关键字如下:

abstract

Assert

boolean

break

byte

case

catch

char(character)

class

const

continue

default

do

Double

else

extends

final

finally

float

For

goto

if

implements

import

instanceof

Int

interface

long

native

new

null

Package

private

protected

public

return

short

Static

strictfp

super

switch

synchronized

this

Throw

throws

transient

try

void

volatile

While

 

 

 

 

  java中采用的是Unicode标准的国际码上述的字母也包括汉字等其他文字字符(一般不建议使用除英文字母外的其他文字);

  标识符使用最重要的原则是见名知意,还有的几点规范:

  •  类的标识符首位用大写的字母;
  •  命名使用多个词组成的遵守驼峰原则,中间的首字母大写或者在单词之间加以_;
  •  常量名全部由大写组成并在不同单词之间加以_;

  

二、变量和常量

  1)变量variable:

    变量是内存中的空间,通过变量的标识符来标识,可以通过变量的标识符来对变量所在的空间进行读写操作,

  2)常量:

    初始化后不能再改变

    例如:final double PI = 3.14;

  

三、基本数据类型

  数据类型:基本数据类型和引用数据类型

  1.基本数据类型(4类8种)

  1)整型: byte,short,int,long

  2)浮点型:float和double

  3)字符型:char

  4)布尔型型:boolean(只有true和false两个值,经常用作判断的条件)

  byte占1个字节(8位), 范围-2^7~2^7-1-à-128~127

  short占2个字节(16位), 范围-2^15~2^15-1-à-32768~32767

  int占4个字节(32位), 范围-2^31~2^31-1-à大约21亿

  long占8个字节(64为) 范围-2^63~2^63-1

  float占4个字节(32位):单精度浮点类型,精确尾数后7位。

  double占用8个字节(64位):双精度浮点类型。

  char采用Uincode码,占用2个字节(16位),可以表示一个汉字或字符

  boolean占1位,其值只有true和false

  2.引用数据类型(数组,类和接口)

 

  四、运算符

        1)算术运算符: +,-,*,/,%(求余), ++(自增),--(自减)

            i++和++i的区别 :都会对i执行自加操作,如果++i或i++作为单独的语句进行执行无差别;i++先执行其他操作然后再执行自加操作,++i先执行自加操作在执行其他操作。

    2)赋值运算符:=

    复合赋值运算符: +=,-=,*=,/=,%=

    3)比较运算符:>,>=,<=,<=,!=,==

        4)逻辑运算符:

    短路与&&:如果两个表达式中第一个为false,第二个表达式将不再进行运算。

    逻辑与&:不论表达式1是否为真,表达式2都将进行运算。

    短路或||:如果两个表达式中第一个为true,第二个表达式将不再进行运算。

    逻辑或|: 不论表达式1是否为真,表达式2都将进行运算非!:取反

    异或^:

        5)位运算符

运算符

含义

示例

~

按位非(NOT)/取反

b = ~a

&

按位与(AND)

c = a & b

|

按位或(OR)

c = a | b

^

按位异或(相同为0相异为1)

c = a ^ b

>>

右移;左边空位补最高位即符号位

b = a >> 2

>>>

无符号右移,左边空位补0

b = a >>> 2

<<

左移;右边空位以补0

b = a << 1

 

           6)条件运算符(三目运算符): ?代替if…else条件结构

        int max= a>b?a:b;

     

     运算符的优先级 :

 

    类型转换:

    自动转化: 自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型。在图中,黑色的实线表示无数据丢失的自动类型转换,而红色的虚线表示在转换时可能会精度的损失。

        byte--àshort-àint -àlong-àfloat-àdouble

    两种数据类型相互兼容

    目标类型大于源类型

 

    特例: 可以将整型常量直接赋值给byte, short, char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围

    Short  b = 12;         //合法

    short  b = 1234567;      //非法

 

    强制类型转换(Cast: 强制类型转换,又被称为造型,用于显式的转换一个数值的类型. 在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。

    强制类型转换的语法格式:“(type)var”,运算符“()”中的type表示将值var想要转换成的目标数据类型。

      例如:double x  = 3.14;

    int nx = (int)x;   //值为3

 

    当将一种类型强制转换成另一种类型,而又超出了目标类型的表示范围,就会被截断成为一个完全不同的值。

    例如: int x = 300;

    byte bx = (byte)x;    //值为44

    不能在布尔类型和任何数值类型之间做强制类型转换。

  

posted @ 2017-03-29 22:40  Z-o-Y  阅读(258)  评论(0编辑  收藏  举报