Java的五种数据类型解析
不知道大家对java的简单数据类型是否了解,下面针对Java的五种类型简单数据类型表示数字和字符,进行详细的讲解和分析。
一、简单数据类型初始化
在Java语言中,简单数据类型作为类的成员变量声明时自动初始化为默认值,除非显式地声明。简单数据类型为某一方法声明局部变量时不会自动地初始化而且会导致编译器扔出类似以下的错误消息"Variable x may not have been initialized.(x变量没有初始化)"表B定义了Java简单数据类型的默认值。
二vtItAAB、封装类
1ava还提供了Byte、Short、Boolean、Character、Integer、Double、Float和Long等内置的封装类。这些封装(wrapper)类提供了很直观的实用方法。比如,Byte、Float, Integer、Long和Double类都具有doubleValue()方法,通过它可以把存储在类的实例中的值转换为Double类型。还有,所有的封装类都提供了静态的valueOf(String s)方法把给定的String.
三、数据类型
数据类型就是对内存位置的抽象表达。程序员可以利用多种数据类型:某些由编程语言定义,某些由外部库定义,还有些则由程序员来定义。很多编程语言都依赖于特定的计算机类型和对数据类型属性的具体编译实现,比如word和integer数据类型的大小等。另一方面,Java的虚拟机负责定义其内置数据类型的各方面内容。这就意味着不管Java虚拟机(JVM)运行在何等低级的操作系统之上,数据类型的属性都是完全一样的。
四、Java简单数据类型的默认初始值
清单B 中的代码显示所有的Java简单数据类型都用做了Initialization类的成员变量。该例还显示Initialization类的构造器中局部声明了一个int变量。在不修改以上代码的情况下,编译器会在对以上代码进行编译的时候扔出错误。
一旦引发问题的代码行(那些引用未初始化变量导致错误发生的代码)被删除或者注释掉。
小结:Java定义了全套简单数据类型。此外,Java取消了其他变成语言中的硬件和编译器依附,允许程序员把注意力转移到其他问题上来。在下一篇文章里,我们将继续讨论某些vtItAAB经常用到的、Java定义的复杂数据类型,同时了解下如何利用它们来处理典型的编程问题。
五、Java的简单数据类型
Java中的所有数字变量都是有符号的,Java不允许数据类型之间随意的转换。只有数字变量之间可以进行类型转换。比如,boolean就不能转换为其他数据类型,而且其他数据类型也不能转换为boolean.因为Java的简单数据类型都经过准确定义,而且直接内存访问也是不允许的,所以在Java语言中取消了sizeof运算符。Java的简单数据类型并不是对象。为了采用面向对象方式对待Java简单数据类型,你需要首先用类封装它们。
六、Java的简单数据代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.nio.charset.Charset;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.PrintWriter;
import java.net.URLConnection;
public class Example {
private static String readAll(Reader rd) throws IOException {
StringBuilder sb = new StringBuilder();
int cp;
while ((cp = rd.read()) != -1) {
sb.append((char) cp);
}
return sb.toString();
}
public static JSONObject postRequestFromUrl(String url, String body) throws IOException, JSONException {
URL realUrl = new URL(url);
URLConnection conn = realUrl.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
PrintWriter out = new PrintWriter(conn.getOutputStream());
out.print(body);
out.flush();
InputStream instream = conn.getInputStream();
try {
BufferedReader rd = new BufferedReader(new InputStreamReader(instream, Charset.forName("UTF-8")));
String jsonText = readAll(rd);
JSONObject json = new JSONObject(jsonText);
return json;
} finally {
instream.close();
}
}
public static JSONObject getRequestFromUrl(String url) throws IOException, JSONException {
URL realUrl = new URL(url);
URLConnection conn = realUrl.openConnection();
InputStream instream = conn.getInputStream();
try {
BufferedReader rd = new BufferedReader(new InputStreamReader(instream, Charset.forName("UTF-8")));
String jsonText = readAll(rd);
JSONObject json = new JSONObject(jsonText);
return json;
} finally {
instream.close();
}
}
public static void main(String[] args) throws IOException, JSONException {
// 请求示例 url 默认请求参数已经URL编码处理
String url = "https://api-vx.xxxxxx.cn/taobao/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=商品ID&is_promotion=1";
JSONObject json = getRequestFromUrl(url);
System.out.println(json.toString());
}
}