1:求圆的面积
还好看了c++,不然直接看这课件还真是看不懂……加油吧
要从键盘读入数据可以用Scanner类的nextlnt()或者nextDouble()方法,首先创建Scanner类的一个实例,然后调用nextDouble()方法读取double数据,
由于Scanner类存放在java.util包中,因此程序使用import包导入该类
在main方法中使用Scanner类的构造方法创建了一个Scanner类的一个对象,在其构造方法中以标准输入System.in作为参数,
得到Scanner对象之后就可以调用它的有关方法获得各种类型的数据,程序中使用nextDouble()方法得到一个浮点型数据,
然后将其赋给double型的变量radius,最后输出语句输出以该数为半径的圆的面积,程序中圆周率使用Math类的PI常量
package computerArea;
import java.util.Scanner;
public class ComputerArea {
public static void main(String[] args){
double radius;
double area;
Scanner input = new Scanner(System.in);
System.out.println("请输入半径值:");
radius = input.nextDouble();
area = Math.PI*radius*radius;
System.out.println("圆的面积为:" + area);
}
}
2:数据类型
package computerArea;
import java.util.Scanner;
/*infinity的意思是无穷大
* 字符型字面常量用单引号将字符括起来,比如'我' 'a' '@'等
* 对于不能用单引号直接括起来的负号,需要使用转义序列来表示,用 '\'来表示转义*/
//另外注意所有关系表达式的返回值都是布尔类型的数据 比如表达式 10 < 9 的结果为false
public class ComputerArea {
public static void main(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数据,字符数据
package computerArea;
import java.util.Scanner;
public class ComputerArea {
public static void main(String[] args){
boolean b;
char ch1, 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的使用
package computerArea;
import java.util.Scanner;
public class ComputerArea {
public static void main(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
}
}
/*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可能发生信息丢失。
比如下面
输出结果是1.23456792E8,损失了精度
布尔类型的数据不能和其他任何类型的数据相互转换
下面演示下类型转换的一个特殊情况
package computerArea;
public class ComputerArea {
public static void main(String[] args){
byte a = 40;
byte b = 50;
byte c;
//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,必须使用强制类型转换。这就是所谓的表达式类型的提升。
自动类型转化和强制类型转化也发生在对象中,对象的强制类型转换也使用括号实现
递归小程序求阶乘
package test; public class RecursionTest {
public static long factor(int n){
if(n == 0)
return 1;
else
return factor(n-1)*n;
}
public static void main(String[] args){
System.out.println(20+"的阶乘为"+factor(20));
System.out.println("max = "+Long.MAX_VALUE); //long 类型的最大值
}
}
java的数据类型,几个java小程序的更多相关文章
-
前端,Java,产品经理,微信小程序,Python等资源合集大放送
为了感恩大家长久以来的关注和支持,小编准备了一些福利,整理了包含前端,Java,产品经理,微信小程序,Python,网站源码,Android应用视频教程,微信公众平台开发教程及材料等资源合集大放送. ...
-
Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解
Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解 说明:Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解,加密算法,是现在每个软件项目里必须用到的内容. 广泛应用在包括 ...
-
利用java开发一个双击执行的小程序
之前我们利用java写了很多东西,但是好像都没有什么实际意义. 因为有意义桌面小程序怎么都得有个界面,可是界面又不太好搞.或者 了解到这一层的人就少之又少了. 呀,是不是还得开辟一些版面来介绍awt和 ...
-
java几个easy出错的小程序
把基本知识过了一遍,发现了几个自己easy 出错的小程序,记录下来.. .. 1.关于try-catch异常 2,JAVA中的自省机制 3.有继承关系的类中静态函数 1,关于try-catch异常 p ...
-
Java后端使用socketio,实现小程序答题pk功能
在使用socket.io跟前端通信过程中,出现了一系列问题,现做下记录. 一.功能需求是,在小程序端,用户可相互邀请,进入房间后进行答题PK.实现方法是,用户点击邀请好友,建立连接,查询当前是否有房间 ...
-
java实现一个简单的爬虫小程序
前言 前些天无意间在百度搜索了一下以前写过的博客 我啥时候在这么多不知名的网站上发表博客了???点进去一看, 内容一模一样,作者却不是我... 然后又去搜了其他篇博客,果然,基本上每篇都在别的网站上有 ...
-
java使用dbutils工具类实现小程序 管家婆记账软件
1.所需创建的包和 jar包 2.创建表结构 #生成一些表数据 ,,'交通银行','2016-03-02','家庭聚餐'); ,,'现金','2016-03-15','开工资了'); ,,'现金', ...
-
java多线程实现卖票小程序
package shb.java.demo; /** * 多线程测试卖票小程序. * @Package:shb.java.demo * @Description: * @author shaobn * ...
-
首次编译Java小程序
public class helloworld { public static void main(string[] args) { system.out.println("hello wo ...
-
「小程序JAVA实战」 小程序默认加载的页面和生命周期(八)
转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-08/ 小程序如何加载的呢?生命周期!源码:https://github.com/limingios ...
随机推荐
-
Windows Phone 8.1 新特性 - 控件之应用程序栏
2014年4月3日的微软Build 2014 大会上,Windows Phone 8.1 正式发布.相较于Windows Phone 8,不论从用户还是开发者的角度,都产生了很大的变化.接下来我们会用 ...
-
linux 下查找大于100M的文件
命令行如下 find . -type f -size +100M Linux系统下查找大文件或目录的技巧 当硬盘空间不够时,我们就很关心哪些目录或文件比较大,看看能否干掉一些了,怎么才能知道呢?以易读 ...
-
Visual Studio中的Build Event
在VS中,进行build时,可以在build之前,或者之后执行一些操作,比如把一些css,font,images文件从一个项目的文件夹复制到另一个项目的文件夹 方法: 点击项目,右键-属性-Build ...
-
os8 location authorization 错误.
今天在XCode6上打开之前写的地图时,给我报这个错 location authorization 去网上查了一番,才知道Xcode6对地图的设置稍有修改 在*上找到了答案 i ...
-
SQL Server 日志文件增长原因定位
方法 1.sys.databases; -------------------------------------------------------------------------------- ...
-
AutoPy首页、文档和下载 - 跨平台的Python GUI工具包 - 开源中国社区
AutoPy首页.文档和下载 - 跨平台的Python GUI工具包 - 开源中国社区 AutoPy是一个简单跨平台的 Python GUI工具包,可以控制鼠标,键盘,匹配颜色和屏幕上的位图.使用纯A ...
-
springmvc上传文件错误The current request is not a multipart request
<1>在jsp页面的<head></head>标签里面加上<meta http-equiv="Content-Type" content= ...
-
muduo-ThreadLocal实现细节——阻止销毁未定义对象
muduo利用pthread_key_t实现ThreadLocal模板类. 具体代码如下所示: template<typename T> class ThreadLocal : nonco ...
-
Vuex与axios介绍
Vuex集中式状态管理里架构 axios (Ajax) Vuex集中式状态管理架构 -简单介绍: vuex是一个专门为Vue.js设计的集中式状态管理架构. 我们把它理解为在data中需要共享给其他组 ...
-
使用MATLAB一键制作mif文件
本文档主要讲解实现一个16384(2^14)点的14位正弦波数据mif格式文件的生成,使用此文件,我们便可以在FPGA上基于直接数字合成(DDS)原理生成标准的正弦波,即实现信号发生器的功能.关于DD ...