- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三、Java基础程序设计
第三章 Java基础程序设计
第一节Java数据类型
byte b=129;// 编译报错,因为129超出了byte类型的取值范围。
float f=3.5;//编译报错,因为小数常量的默认类型为double型。double型常量在内存中占八个字节,而Java只为float的变量分配四个字节的空间,要将八个字节的内容装入四个字节的容器,显然有问题。改为:
float f=3.5f;
编译就可以通过了,因为3.5f是一个float型常数,在内存中只占4个字节。
提问者采纳你定义的i是临时变量,这种临时变量是不会初始化的,只有类的成员变量才会被初始化。比如class?test?{????private?int?i;}然后你创建一个test对象,new?test(),那么这个对象的属性i就会被默认初始化为0。
byte b=3;
int x=b; //没有问题,程序把b的结果自动转换成了int型了
Java定义了若干适用于表达式的类型提升规则。
第一,所有的byte型、short型和char的值将被提升到int型。
第二,如果一个操作数是long型,计算结果就是long型;
第三,如果一个操作数是float型,计算结果就是float型;
第四,如果一个操作数是double型,计算结果就是double型。
例如:
int i=129;
byte b=(byte)i;
请看下面的程序:
程序清单:Conversion.java
public class Conversion
{
public static void main(String[] args)
{
byte b ;
int i = 266 ;
b = (byte)i ;
System.out.println(byte to int is+ +b) ;
}
}
程序输出入下:
byte to int is 10
第二节运算符、表达式与语句
请看下面的例子:
public class TestAnd
{
public static void main(String[] args)
{
int x=0;
int y=0;
if(x!=0 y==y/x)
System.out.println(y = +y);
}
}
字符串连接运算符
字符串的连接操作:?程序中如果使用“”括起来的代码称为字符串。字符串的连接使用“+”
注意:任何数据类型如果遇到了字符串,则肯定全部转换为字符串类型。
这句话我们验证下哈:
第三节判断与循环语句
int x=0;
if (x==1)
System.out.println(x=1);
如果x的值等于1则打印出“x=1”,否则什么也不做。
int x=0;
if(x==1)
System.out.println(X=1);
else
System.out.println(X!=1);
如果x的值等于1则打印出“x=1”,否则将打印出“x!=1”。
我们看一下下面的代码:
if(x0)
y=x;
else
y=-x;
这段代码也可以简写成下面的形式:
y = x0?x:-x;
if (x==1)
System.out.println(X=1);
else if (x==2)
System.out.println(X=2);
else if (x==3)
System.out.println(X=3);other);
if语句还可以嵌套使用,如:
if (x == 1)
if(y == 1)
System.out.println(x = 1,y = 1);
else
System.out.println(x = 1,y != 1);
else
if(y == 1)
System.out.println(x != 1,y = 1);
else
System.out.println(x != 1,y != 1);
在使用if嵌套语句时,最好使用{}来确定相互的层次关系,如下面的语句:
if (x == 1)
if(y == 1)
System.out.println(x = 1,y = 1);
else
System.out.println(x = 1,y != 1);
else if(x !=1)
if(y == 1)
System.out.println(x != 1,y = 1);
else
System.out.println(x != 1,y != 1);
我们很难判定最后的else语句到底属于哪一层的,编译器是不能根据书写格式来判定的,我们可以
文档评论(0)