8种原生数据类型(byte ,short , int , long ,float,double,boolean,char)
顾名思义 原生数据类型就是能被计算机方便处理的(在java中应该是java虚拟机)
非原生数据类型 如对象 计算机在对它处理的时候开销比原生数据类型要大
C的int的位数是根据当前 *** 作系统的位数决定的,比如用的是XP,那这个int就占用32位(4字节),java的int一律32位
C的char占8位(是为了应付ASCII码),java的char占16位(是为了更好支持Unicode)
至于你说的本质区别,C++中的基本数据类型可以看成类,而java中不能
其他就不清楚了,麻烦楼下的来补充啦
java中可以可以而且必须定义原始数据类型。java属于强类型语言。必须指定变量的数据类型。
但是自定义数据类型不知道你说的是哪种。。
你可以定义一个类,然后封装后直接调用这个类,初始化这个类的一个变量。这应该叫自定义比数据类型吧。其实算不上是数据类型,只能算的上是一个对象类,和初始话对象。看你怎么理解吧。
Java为安全应用提供了丰富的API,J2SDK14 的JSSE (JavaTM Secure Socket Extension) 包括javaxsecuritycertificate包,并且提供对证书的 *** 作方法,代码如下:
import javaxswing;
import javaawt;
import javaawtevent;
import javaxswingtable;
import javasecuritycertCertificateFactory;
import javasecuritycertX509Certificate;
import javaio;
public class CARead extends JPanel {
private String CA_Name;
private String CA_ItemData[][] = new String[9][2];
private String[] columnNames = {"证书字段标记","内容" };
public CARead(String CertName) {
CA_Name=CertName;
/ 三个Panel用来显示证书内容/
JTabbedPane tabbedPane = new JTabbedPane();
JPanel panelNormal = new JPanel();
tabbedPaneaddTab("普通信息", panelNormal);
JPanel panelAll=new JPanel();
panelAllsetLayout(new BorderLayout());
tabbedPaneaddTab("所有信息",panelAll);
JPanel panelBase64=new JPanel();
panelBase64setLayout(new BorderLayout());
tabbedPaneaddTab("Base64编码信息",panelBase64);
/ 读取证书常规信息 /
Read_Normal(panelNormal);
/ 读取证书文件字符串表示内容 /
Read_Bin(panelAll);
/ 读取证原始Base64编码形式的证书文件 /
Read_Raw(panelBase64);
tabbedPanesetSelectedIndex(0);
setLayout(new GridLayout(1, 1));
add(tabbedPane);
}
}
定义证书信息的读取函数如下:
private int Read_Normal(JPanel panel){
String Field;
try{
CertificateFactory certificate_factory=CertificateFactorygetInstance("X509");
FileInputStream file_inputstream=new FileInputStream(CA_Name);
X509Certificate
x509certificate=(X509Certificate)certificate_factorygenerateCertificate
(file_inputstream);
Field=x509certificategetType();
CA_ItemData[0][0]="类型";
CA_ItemData[0][1]=Field;
Field=IntegertoString(x509certificategetVersion());
CA_ItemData[1][0]="版本";
CA_ItemData[1][1]=Field;
Field=x509certificategetSubjectDN()getName();
CA_ItemData[2][0]="标题";
CA_ItemData[2][1]=Field;
/ 以下类似,这里省略
Field=x509certificategetNotBefore()toString();得到开始有效日期
Field=x509certificate getNotAfter()toString();得到截止日期
Field=x509certificategetSerialNumber()toString(16);得到序列号
Field=x509certificategetIssuerDN()getName();得到发行者名
Field=x509certificategetSigAlgName();得到签名算法
Field=x509certificategetPublicKey()getAlgorithm();得到公钥算法 /
file_inputstreamclose();
final JTable table = new JTable(CA_ItemData, columnNames);
TableColumn tc=null;
tc = tablegetColumnModel()getColumn(1);
tcsetPreferredWidth(600);
paneladd(table);
}catch(Exception exception){
exceptionprintStackTrace();
return -1;
}
return 0;
}
java中的数据类型分两大类分别是基本类型和引用数据类型。
一、基本类型
1)Java中的数据类型有八种,即基本类型。具体如下:
数据类型 位数 取值范围:
Boolean 1 True|False
Byte 8 -128~127
Short 16 -32768~32767
Int 32 -2e31~2e31-1
Long 64 -2e63~2e63-1
Float 32 略
Double 64 略
Char 16 0~65535
‘ /u0000’ ~’uFFFF‘
二、引用数据类型
1)定义一个byte变量 如:byte b= -256;
由于-256超出了’Byte’的取值范围,所以要使程序不报错,有一下几种解决方法:
A:更改变量的数据类型(如:将byte改为int);
B:更改变量名的赋值,使其包括在变量的数据类型的值域内;
C:进行强制转换:如: byte b=(byte)-256:
‘进行强制转换后,虽然程序不在报错,但是有可能会使原值的精度收到影响’
D:定义一个浮点类型数时,记得要在数值的后面加上“f”或“F”。(如:Float f=100000f;)
E:若定义 Char c=a;定义 int n=c;则输出的n值为“a“的ASCII值,即97。
2)引用数据类型的定义
A:对象都是引用数据类型
B:应用类型使用NEW调用构造方法进行赋值
C:在Java中,除了基本数据类型以外,其余的全都属于引用数据类型, 如:
a:API中的类,如String,File等;
b:数据;
c:自定义的类,如Cars,Student
d:对象全部是引用数据类型。
扩展资料
其他数据类型:
在java中,String本身也提供了很多的方法供我们使用:
获取到指定索引位置的字符:char c = 字符串charAt(索引位置);
获取到指定索引位置的字符:char c = 字符串charAt(索引位置);
获取第一次出现在字符串中的字符:int index = 字符串index('a');
获取在字符串中字符的索引位置:int index = 字符串index('a',1);
如果想比较两个字符串是否相等:字符串equeals(字符串);
判断字符串是否为空:字符串isEmpty();
获取字符串的长度:字符串length();
根据某一个条件,将字符串进行分割:字符串split("abc");
根据条件取出内容:字符串substring(开始位置,结束位置);
以上就是关于java中,原生数据类型是什么意思通俗点,或者打个比方。谢谢。学而不厌,诲人不倦。全部的内容,包括:java中,原生数据类型是什么意思通俗点,或者打个比方。谢谢。学而不厌,诲人不倦。、Java中的原始数据类型和C语言中的数据类型有什么本质上的区别、java中可以自定义原始数据类型吗像int、float、long型的数据类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)