java修改多条数据类型_java的数据类型,几个java小程序

1:求圆的面积

还好看了c++,不然直接看这课件还真是看不懂……加油吧

要从键盘读入数据可以用Scanner类的nextlnt()或者nextDouble()方法,首先创建Scanner类的一个实例,然后调用nextDouble()方法读取double数据,

由于Scanner类存放在java.util包中,因此程序使用import包导入该类

在main方法中使用Scanner类的构造方法创建了一个Scanner类的一个对象,在其构造方法中以标准输入System.in作为参数,

得到Scanner对象之后就可以调用它的有关方法获得各种类型的数据,程序中使用nextDouble()方法得到一个浮点型数据,

然后将其赋给double型的变量radius,最后输出语句输出以该数为半径的圆的面积,程序中圆周率使用Math类的PI常量

packagecomputerArea;importjava.util.Scanner;public classComputerArea {public static voidmain(String[] args){doubleradius;doublearea;

Scanner input= newScanner(System.in);

System.out.println("请输入半径值:");

radius=input.nextDouble();

area= Math.PI*radius*radius;

System.out.println("圆的面积为:" +area);

}

}

2:数据类型

packagecomputerArea;importjava.util.Scanner;/*infinity的意思是无穷大

* 字符型字面常量用单引号将字符括起来,比如'我' 'a' '@'等

* 对于不能用单引号直接括起来的负号,需要使用转义序列来表示,用 '\'来表示转义*/

//另外注意所有关系表达式的返回值都是布尔类型的数据 比如表达式 10 < 9 的结果为false

public classComputerArea {public static voidmain(String[] args){boolean t = true;byte b = 0x18;short s = 0200;int i =0b101010;long l = 0x111_111_11L; //数字中间可以加下划线增加代码可读性,数值不变

float f = 100.33_3F;double d = .00001005;

System.out.println("boolean t = "+t);

System.out.println("byte b = "+b);

System.out.println("short s = "+s);

System.out.println("int i = "+i);

System.out.println("long l = "+l);

System.out.println("float f = "+f);

System.out.println("double d = "+d);

System.out.println("\u4F60\u597D"); //前者是'你'的unicode码,后者是'好'的unicode码

}

}

3:boolean数据,字符数据

packagecomputerArea;importjava.util.Scanner;public classComputerArea {public static voidmain(String[] args){booleanb;charch1, ch2;

ch1= 'Y';

ch2= 65;

System.out.println("ch1 = "+ch1+",ch2 = "+ch2);

b= ch1 ==ch2;

System.out.println(b);

ch2++;

System.out.println("ch2 = "+ch2);

}

}

4:String的使用

packagecomputerArea;importjava.util.Scanner;public classComputerArea {public static voidmain(String[] args){

String s1= "java strings" + " are inportant.";

String s2= "This is an inportant" +

" point to note.";

String s3= "String number "+'d'+3;

System.out.println(s1+"\n"+s2+"\n"+s3);/*当+运算符的两个操作数一个是字符串而另一个是其他数据类型,

* 系统会自动将另一个操作数转换成字符串,然后再进行连接*/

int x = 1, y = 2, z = 3;

System.out.println("abc"+x + y + z); //输出abc123

System.out.println(x + y + z+"abc"); //输出6abc

}

}

c610fc2bc13e1404a0683dc7dd91dc56.png

/*constant是在程序运行过程中,其值不能被改变的量,常量实际上是由final关键字修饰的变量

* 常量可以在声明同时赋值,也可以声明后赋值,一旦赋值,不可修改

* 例如final double PI = 3.1415926;

* final int MAX_ARRAY_SIZE = 22;

* final int SNO;

*字面量:

*字面量(literals)是某种类型值的表示形式,字面量有三种类型:基本类型的字面量、字符串字面量以及null字面量

*。基本类型的字面量有4种类型:整数型、浮点型、布尔型、字符型。如123、-789为整型字面量,

*3.456、2e3为浮点型字面量,true、false为布尔型字面量,'g'、'我'为字符字面量。*/

/*infinity的意思是无穷大

* 字符型字面常量用单引号将字符括起来,比如'我' 'a' '@'等

* 对于不能用单引号直接括起来的负号,需要使用转义序列来表示,用 '\'来表示转义*/

\ddd    三位八进制数表示的字符

\uxxxx   四位十六进制数表示的字符

java中有自动类型转换和强制类型转换,自动类型转化也称加宽转换,它是将具有较少位数的数据类型转换成为具有较多位数的数据类型

从一种整数类型转化为另一种正数类型是,不会有信息丢失的危险。同样,从float转化为double也不会丢失信息。但从int或long转化为float,

从long转化为double可能发生信息丢失。

比如下面

61b99ac9d69c7a42de2cb2682c516a7c.png输出结果是1.23456792E8,损失了精度

布尔类型的数据不能和其他任何类型的数据相互转换

下面演示下类型转换的一个特殊情况

packagecomputerArea;public classComputerArea {public static voidmain(String[] args){byte a = 40;byte b = 50;bytec;//c = a + b;//注意这句编译不通过,

c = (byte)(a+b);int i = a +b;

System.out.println("a+b = "+c);

System.out.println("a+b = "+i);

}

}

我们可以看到a(40)和b(50)都是byte类型的变量,它们的和不超过byte类型的最大值,但是如果将其赋给byte类型的变量c将产生编译错误,这是因为,在计算表达式a+b的时候,编译器首先将操作数类型提升为int类型,最终计算出来a+b的结果90是int类型,如果要将计算结果赋给c,必须使用强制类型转换。这就是所谓的表达式类型的提升。

自动类型转化和强制类型转化也发生在对象中,对象的强制类型转换也使用括号实现

0f5835e43c8a340b11efd59922e8f86e.png

递归小程序求阶乘

packagetest;public classRecursionTest {public static long factor(intn){if(n == 0)return 1;else

return factor(n-1)*n;

}public static voidmain(String[] args){

System.out.println(20+"的阶乘为"+factor(20));

System.out.println("max = "+Long.MAX_VALUE); //long 类型的最大值

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值