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基础——数据类型的更多相关文章

  1. Java基础-数据类型应用案例展示

    Java基础-数据类型应用案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.把long数据转换成字节数组,把字节数组数据转换成long. /* @author :yinz ...

  2. Java基础-数据类型int,short,char,long,float,double,boolean,byte

    Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定.由于是statical typed,导致Java语言也是强类型(Strong typed ...

  3. java基础数据类型包装类

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  4. 谈谈Java基础数据类型

    Java的基本数据类型 类型 意义 取值 boolean 布尔值 true或false byte 8位有符号整型 -128~127 short 16位有符号整型 -pow(2,15)~pow(2,15 ...

  5. Java基础数据类型二进制转换

    前言: 本文主要介绍java基础类型的二进制转换和二进制的基本概念. 二进制: 1,二进制是以0和1为码,逢2进1,比如3=11=1*2+1. 2,在计算机当中其它进制的算法基本基于2进制,因为计算机 ...

  6. java基础-数据类型之殇

    一 前言 Java的数据类型分为2种,分别是基本数据类型和引用数据类型:java的数据类型是强数据类型,意味着每声明一个变量,其必定有与之对应的数据类型:面试常问的java8大基本数据类型其实是基本数 ...

  7. Java 基础数据类型

    Java 提供的基础数据类型(也称内置数据类型)包含:整数类型.浮点类型.字符类型.布尔类型. 整数类型 整数类型变量用来表示整数的数据类型.整数类型又分为字节型(byte).短整型(short).整 ...

  8. [未完成]关于java基础数据类型中的一些总结

    java基本数据类型转换图: 有时候也把char型成为字符型,是加上字符型也是一种特殊的整数类型.

  9. 【Demo 0001】Java基础-数据类型

    本章学习要点:       1.  了解Java 语言       2.  了解Java程序结构;        3.  了解Java中基本数据类型;       4.  掌握基本数据类型之间的运算 ...

  10. JAVA基础数据类型

    JAVA的数据类型粗略分两种 1.基本数据类型 整数类型: byte,short,int,long 浮点类型: float,double 字符类型: char 布尔类型: boolean 基本语法格式 ...

随机推荐

  1. pl/sql developer 连接服务器上的数据库

    1, 在本地安装的Oracle中找到目录 oracle\product\11.2.0\dbhome_1\network\admin, 它下面一般有两个文件可以进行编辑tnsnames.ora   li ...

  2. XML功能

    REF:https://www.baidu.com/link?url=_-UY8rZVAORlesKTth0F7C8LbvXCL4lSwz6vmQVnTEgmT06NFGdoaD9FbuEQhR7xG ...

  3. 导航栏 .active激活

    参考 :使用angularjs写一个导航栏控制器 1.点击其中一个li其他的class不影响 2.点击其中一个li其他的class影响 <!DOCTYPE html> <html l ...

  4. STM32F103X 开发环境搭建

    背景 芯片:STM32F103C8T6核心板 开发平台:IAR 安装IAR 官方下载地址:https://www.iar.com/iar-embedded-workbench/#!?device=ST ...

  5. MUI开发记录

    最近很久没有更新博客了,因为一直在学习前端h5 手机app的开发.曾经一度觉得自己css和js学得不错,进入到前端领域后才发现水很深~ HUuilder使用安卓模拟器 安卓模拟器有很多,我这里以夜神模 ...

  6. C++中const用于函数重载

    C++中const用于函数重载 常成员函数和非常成员函数之间的重载 首先先回忆一下常成员函数 声明:<类型标志符>函数名(参数表)const: 说明: (1)const是函数类型的一部分, ...

  7. 调试 ASP.NET Core 2.0 源代码

    在Visual Studio 2017中可以通过符号以及源链接,非常方便对 ASP.NET Core 2.0中源代码进行调试.在这篇文章中,我们将重点介绍如何使用源链接对ASP.NET Core源进行 ...

  8. TCP/IP(七)之玩转HTTP协议

    前言 前面一篇的博文简单的介绍了一下属于应用层的HTTP协议,这一篇我将详细的学习HTTP协议,这也是做Web开发中一定要用到的协议.虽然我是做大数据的,但是多学习一点肯定是 没有坏处的.国庆放假7天 ...

  9. 51 nod 1097 拼成最小的数 思路:字符串排序

    题目: 思路:1.以字符串输入这些整数. 2.对这些字符串排序,排序规则为尽量让能让结果变小的靠前. 代码中有注释,不懂的欢迎在博客中评论问我. 代码: #include <bits\stdc+ ...

  10. Chinese Rings hdu 2842 矩阵快速幂

    Chinese Rings Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...