语法基础(Java)

Java语法基础

学习目标
  1. Java中的数据类型
  2. 变量与常量
  3. 运算符
数据类型:
基本类型:
类型默认值位长取值范围
boolean(布尔型)false1false,true
byte(字节型)08-128~127
char(字符型)‘\u0000’16‘\u0000’~’\uffff’(即0,65535)
short(短整型)016-32768~32767
int(整型)032231到231-1
long(长整型)064-263到263-1
float(单精度浮点型)0.032±1.4E-45或±3.4028235E+38
double(双精度浮点型)0.064±4.9E-324或1.797693134862315E+308

Java的char类型采用UNicode(国际编程标准)的新字符处理方式,即大字符编程方案,汉字和字母均看作一个字符,占两个字节。
若没有赋初值,取默认值

  1. 整型变量及其申明(缺省类型为int)
    整型数据类型有:byte,short,int,long共四种。
byte a;
byte a=8;
short b;
short b=16;
int c;
int c=32;
long d;
long d=64;
在声明变量时需注意以下三点:
  1. 如果在函数中声明变量,那么使用之前,必须赋初值;
  2. 不能把取值范围大的变量直接赋值给取值范围小的变量;
  3. 如果声明了变量但没有使用变量,那么可以不给变量赋值。
自动类型转换(Downcasting)

整型、浮点型、字符型数据可以混合运算。在运算过程中,先转换成统一类型,再计算。

  1. 转换从低级到高级的顺序为:
    short或byte(char)–>int–>long–>float–>double
  2. 强制类型转换(Casting)

(数据类型)数据 或(数据类型)(表达式)
例如:
byte a=2;
byte b=3;
byte c=(byte)(a+b);
int m =21;
int n =421;
int x = (int)(n/m);

  1. 浮点型变量及其声明(缺省类型为double)

在声明float类型变量并赋初值时,要在数值后面加 ‘f’(英文) ,否则报错

  1. 字符型变量及其声明
  • 字符型变量表示单个16位Unicode字符,在表示字母和数字的时候,可以用单括号括起来。例:‘a’ (英文)
  • 在转义系列字符的表示上,要注意斜杆的运用,例如:‘\t’表示制表符。
  • 可以用整型表示一个char型变量的值,例如:char c = 66;
  1. 布尔型变量及其声明

布尔型数值只有:false和true。必须小写,因为是关键字。

变量的作用域和生存期:

Java允许变量在任何程序块内声明。程序块包括在一对大括号 中,一个程序块定义了一个作用域。所以,每次开始一个新块,就创建了一个新的作用域。从先前的编程经验得知,一个作用域决定了那些对象对程序的其他部分可见,它也决定了这些对象的生存期。
大多数计算机语言定义了两大作用域:全局和局部。
然而,这些传统的作用域不适合Java严格的面向对象的模型。其中,将一个变量定义成全局变量的可行是一个例外而非规则。
Java的两大主要的作用域是通过类和方法定义的,尽管类的作用域和方法的作用域的区别是人为定义的。
但是类的作用域有若干独特的特点和属性,并且这些特点和属性并不能应用到方法定义的作用域中。
作为一个通用规则,在一个作用域中定义的变量,对于作用域外的程序是不可见的。
作用域会对内部的变量局部化并且保护它不被非授权访问和修改。
作用域规则为封装提供了基础。
作用域可以实现嵌套,外面的作用域包含内部的作用域。这意味着外部作用域定义的对象对于内部作用域的程序是可见的。
但是反过来就是错误的,内部作用域定义的对象对于外部是不可见的。
变量可以在程序块内的任何地方声明,但是只有声明过后才是合法有效的。
变量在其作用域中被创建,离开其作用域时被撤销。因此,一个变量的生存期就被限定在它的作用域中。

常量:

Java是以final关键字来声明一个常量的。
例如:final double PI=3.1415;
就声明了一个“PI”常量,值为3.1415。

运算符
  1. 一元运算符:正(+)、负(-)、自增(++)、自减(- -)
    自增和自减运算符只允许用于数值类型的变量,且不允许用于表达式。
    其中需要注意的是自增和自减与变量的位置。例如:
int i=6,j,k,m,n;
j=i++;//运算结果j=6,i=7
k=++i;//运算结果k=8,i=8
m=--i;//运算结果m=7,i=7
n=i--;//运算结果n=7,i=6

一元运算符与其前后的操作数之间不允许有空格,否则编译时会出错

  1. 二元运算符:加(+)、减(-)、乘(*)、除(/)、取模(%)

其中较为特殊的是取模是可以运用于浮点型数字的。例如:7.3%3的运算结果为1.3
不要使运算结果超出范围,否则编译错误。例如:byte 20*20;将编译错误
整数之间做除法,将舍弃小数点后面的部分。

  1. 赋值运算符:‘=’。‘=’右边可以是表达式,左边须是变量。

左值范围不能小于右值范围,否则需要使用类型转换,即在表达式前面加上类型名。

  1. 比较运算符
运算符意义
==等于
!=不等于
>大于
<小于
>=大于等于
<=小于等于

Java中的任何类型,包括整型、浮点型、字符及布尔型,都可用“==”和“!=”来比较是否相等。

  1. 逻辑运算符
运算符意义
!逻辑非
&逻辑与
&&短路与
^异或
竖杠逻辑或
两条竖杠短路或

竖杠即‘|’。两条即‘||’
逻辑运算符支持短路运算。
所谓短路运算即从左向右依次运算并判断每一个条件是否成立。
因此,在逻辑运算中通常会使用到“短路与&&”和“短路或||”

  1. 位运算符
    位运算符分为‘非!’、‘或|’、‘与&’、‘异或^’
    11011101进行‘!’结果为00100010
    11011101和10110111进行‘|’结果为11111111
    11011101和10110111进行’&'结果为10010101
    11011101和10110111进行‘^’结果为01101010
  2. 移位运算符
    移位运算符主要包括左移位运算符(<<)、“有符号”右移位运算符(>>)、“无符号”右移位运算符(>>>)

“<<”,将运算符左边的对象向左移动运算符右边指定的位数(在低位补0)
“>>”,将运算符左边的对象向右移动运算符右边指定的位数。采用“符号扩展”机制,也就是说,如果值为正,则高位补0,反之,补1
“>>>” ,将运算符左边的对象向右移动运算符右边指定的位置。采用“零扩展”,无论值为正负,都在高位补0

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值