Java基础——数据类型
Java中与C++的区别:
1.Java中没有无符号类型。
2.整型值和布尔值之间不能进行相互转换。
3.Java中不区分变量的定义和声明。
如:在C++中int i = 10;是一个定义,而extern int i;是一个声明。但是在Java中不区分 Java中必须对变量进行显示初始化。
4.常量:在定义常量时,利用关键字**final** final double pi = 3.14;
5.检测两个字符串是否相等:
s.euqals(t) 相等返回true, 否则返回false;
"hello".equals(greeting); 字符串常量也可以与字符串变量进行比较。
忽略大小写:"Hello".equalsIgnoreCase("hello");
6.求字符串的长度
str.length()
7.在一个源文件.java中,只能有一个public类,且声明为public的类名必须与源文件的名字一致。
如源文件名为:helloworld.java
public类应该为:public class helloworld{ }
8.编译:javac.exe,编译完生成多个 .class字节码文件
运行:java.exe
9.API 是一个很好的工具
也可以将自己写的类解析成文档形式,使得代码更加直观(说明书)
javadoc -d madoc -author -version test1.java
10.&与&& 的区别
&:不管左边为true还是false,右边都会进行运算。
&&:当左边为false时,右边不进行运算。(推荐使用)
同理| 与||的区别也是如此。
11.交换两个变量m, n的值:
法一:提供中间变量(不再赘述)
法二:m = m + n;
n = m - n;
m = m - n;
法三:位运算符
m = m ^ n;
n = m ^ n; 类似于(m^n)^n = m
m = m ^ n;类似于(m^n)^m = n
12.进制间的转换(转换为16进制):
(1).自动调用Integer类现成的方法
int i = 60;
String binary = Integer.toBinaryString(i); //111100
String hex = Integer.toHexString(i); //3c
(2).手动计算:
利用与运算,令i&15得到最低四位 int j = i & 15;
String k1 = (j <= 9)? j + "" : (char)(j - 10 + 'a') + "";
i = i >>4 将i右移4为
int z = i & 15; //继续进行高四位
String k2 = (z <= 9)? j + "" : (char)(z - 10 + 'a') + "";
拼接起来 String res = k1 + k2;
13.Java中声明数组时,不能指定其长度
int a[];
double[] b;
[]在前边,后边都可以
初始化:
动态初始化:数组声明且为数组元素分配空间与赋值的操作分开进行
int[] arr = new int[3];
arr[0] = 3;
arr[1] = 6;
arr[2] = 9;
静态初始化:在定义数组的同时就为数组元素分配空间并赋值
int a[] = new int{3, 6, 9};
int[] b = {1, 2 , 3};
int dates[] = {new int(1, 2, 3), new int(4, 5, 6), new int(7, 8, 9)};//初始化二维数组
注:无论是动态初始化还是静态初始化,在使用之前都知道数组的大小
二维数组:
方式一:int[][] arr = new int[3][2]; int[] arr[] = new int[3][4];
方式二:int[][] arr = new int[3][];
arr[0] = new int[5];
arr[1] = new int[2];
arr[2] = new int[3];
也可以先 int[][] arr;
错误方式一:arr = new int[][];
二:arr = new int[][2];
二维数组的内存结构:

14. 基本类型的初始化:
对于基本数据类型的变量创建的数组:byte, short, int, long, float, double, char, boolean
1).byte, short, int, long,创建数组后,默认值为0
2).float, double,创建数组后,默认值为0.0
3).char,创建数组后,默认值为空格
4).boolean,创建数组后,默认值为false(注意,boolean中没有null)
5).对于引用类型的变量构成的数组,默认值为null,String就是,自己定义的class也是null
15.栈:存放局部变量、对象的引用
堆:new出来的东西
方法区:常量池
静态域:

当声明一个数组时,所做的事情

Java基础——数据类型的更多相关文章
- Java基础-数据类型应用案例展示
Java基础-数据类型应用案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.把long数据转换成字节数组,把字节数组数据转换成long. /* @author :yinz ...
- Java基础-数据类型int,short,char,long,float,double,boolean,byte
Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定.由于是statical typed,导致Java语言也是强类型(Strong typed ...
- java基础数据类型包装类
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- 谈谈Java基础数据类型
Java的基本数据类型 类型 意义 取值 boolean 布尔值 true或false byte 8位有符号整型 -128~127 short 16位有符号整型 -pow(2,15)~pow(2,15 ...
- Java基础数据类型二进制转换
前言: 本文主要介绍java基础类型的二进制转换和二进制的基本概念. 二进制: 1,二进制是以0和1为码,逢2进1,比如3=11=1*2+1. 2,在计算机当中其它进制的算法基本基于2进制,因为计算机 ...
- java基础-数据类型之殇
一 前言 Java的数据类型分为2种,分别是基本数据类型和引用数据类型:java的数据类型是强数据类型,意味着每声明一个变量,其必定有与之对应的数据类型:面试常问的java8大基本数据类型其实是基本数 ...
- Java 基础数据类型
Java 提供的基础数据类型(也称内置数据类型)包含:整数类型.浮点类型.字符类型.布尔类型. 整数类型 整数类型变量用来表示整数的数据类型.整数类型又分为字节型(byte).短整型(short).整 ...
- [未完成]关于java基础数据类型中的一些总结
java基本数据类型转换图: 有时候也把char型成为字符型,是加上字符型也是一种特殊的整数类型.
- 【Demo 0001】Java基础-数据类型
本章学习要点: 1. 了解Java 语言 2. 了解Java程序结构; 3. 了解Java中基本数据类型; 4. 掌握基本数据类型之间的运算 ...
- JAVA基础数据类型
JAVA的数据类型粗略分两种 1.基本数据类型 整数类型: byte,short,int,long 浮点类型: float,double 字符类型: char 布尔类型: boolean 基本语法格式 ...
随机推荐
- Oracle存储过程经典入门
ok基本就这些介绍
- Markdown使用简单示例
标题示例: 标题一 #标题一 标题二 #标题二 标题三 ###标题三 标题四 ####标题四 标题五 #####标题五 标题六 ######标题六 连接示例 [](跳转 ...
- JS中关于数组的内容
前 言 LIUWE 在网站制作过程中,数组可以说是起着举足轻重的地位.今天就给大家介绍一下数组的一些相关内容.例如:如何声明一个数组和在网站制作过程中我们常用的一些数组的方法.介绍的不好还请多多 ...
- 查找Oracle数据库中的重复记录
本文介绍了几种快速查找ORACLE数据库中的重复记录的方法. 下面以表table_name为例,介绍三种不同的方法来确定库表中重复的记录 方法1:利用分组函数查找表中的重复行:按照某个字段分组,找出行 ...
- [js高手之路] html5 canvas系列教程 - 开始路径beginPath与关闭路径closePath详解
路径在canvas绘图中,经常被用到,是一个非常重要的概念. 比如:我们要在canvas画出3条直线,要求用不同的颜色加以区分. <style> body { background: #0 ...
- python和C语言混编的几种方式
Python这些年风头一直很盛,占据了很多领域的位置,Web.大数据.人工智能.运维均有它的身影,甚至图形界面做的也很顺,乃至full-stack这个词语刚出来的时候,似乎就是为了描述它. Pytho ...
- TComboBox组件重要属性和事件
TComboBox组件的重要属性 CharCase--------此属性用于设置编辑框内文字的大小写 DropDownCount---此属性用于设置当用户下拉组合框时不需要加滚动条就能显示的项的个数 ...
- Linux入门之常用命令(8)上传下载
[什么是rz/sz (lsz/lrz)] 简单说就是,可以很方便地用这两个sz/rz工具,实现Linux下和Windows之间的文件传输(发送和接收),速度大概为10KB/s,适合中小文件.rz/s ...
- 分享基于分布式Http长连接框架--架构模型
我画了个简单的架构图来帮助说明: 其实为发布订阅架构模式. 生产者和消费者我们统一可理解为客户端,消息中间件可认为是服务端. 生产者和消费者做为客户端要跟服务端交互,则先通过代理订阅服务端,订阅成功后 ...
- bzoj3713 [PA2014]Iloczyn|暴力(模拟)
斐波那契数列的定义为:k=0或1时,F[k]=k:k>1时,F[k]=F[k-1]+F[k-2].数列的开头几项为0,1,1,2,3,5,8,13,21,34,55,-你的任务是判断给定的数字能 ...