Java基础知识查漏 一

Jdk和jre

Jdk是java程序设计师的开发工具,只要包含编译程序,jvm和java函数库

Jre中只有jvm和java函数库,没有编译程序的相关工具,适合只运行不撰写java程序的用户

javac和java

在cmd命令行中,javac命令用来编译写好的java程序,如javac helloJava.java。注意文件扩展名必须加上。java命令用来运行编译好的文件java helloJava。不用加扩展名。一个java文件可能有多个类文件,编译成功后,每个类文件都产生一个.class文件。

print和println

println()输出后自动换行,print不会。print(”\n”)和println()的效果一样。

数据类型

short占2 bytes空间,1 byte=8 bits,所以short能容纳2的16次方个数,正负各一半,可以得出short的表示范围-2的15次方到2的15次方减一。(0占一个数)

int是4 bytes,long是8 bytes。

char占2 bytes

关于float和double

定义float类型时,初始化时数字后面要加上f或者F,否则java默认其为double类型,而double类型无法自动转为float。

float f=1.2f;对

flaot f=1.2;错

关于&&和&

两者的结果相同但执行过程不同。&&在第一个为false后就直接判结果为false,不判断第二个式子。而&无论怎样都判断两个式子。||和|道理类似。

两个式子

x&-1=x;任何数与-1作and运算不变

x^y^y=x任何整数与同一个整数作两次xor运算不变。

switch

switch比较成功后就不会再作任何比较,例如如果case 1比较成功,但是case1中没有break语句,那么程序就会继续执行,case 2不会再比较,而是直接执行case 2中的语句。switch可以比较的数据类型有:char,byte,short,int和enum(枚举型),string和long,float,double均不可。

变量的默认值

整数类型(byte、short、int、long)的基本类型变量的默认值为0。单精度浮点型(float)的基本类型变量的默认值为0.0f。双精度浮点型(double)的基本类型变量的默认值为0.0d。字符型(char)的基本类型变量的默认为 “/u0000”。布尔性的基本类型变量的默认值为 false。引用类型的变量是默认值为 null。数组引用类型的变量的默认值为 null。当数组变量的实例后,如果没有没有显示的为每个元素赋值,Java 就会把该数组的所有元素初始化为其相应类型的默认值。对于局部变量(在类的方法中定义的变量),变量声明以后,Java
虚拟机不会自动的为它初始化为默认值。因此对于局部变量,必须先经过显示的初始化,才能使用它。

二维数组的大小

对于二维数组a[3][4],a.length返回的是a所拥有的一维数组个数,即行数3

a[0].length返回的是a[0]中的元素个数,即列数4。

对象数组的初始化

先初始化数组,在初始化对象

book为一个定义好的对象,定义一个book对象数组

book[] books=newbook[2];

book[0]=newbook();

book[1]=newbook();

继承类中方法的改写原则

1.方法名要一样。2.参数个数和类型要一样。3.返回值类型一样。4.final修饰的方法无法改写。

关于final修饰符

1.     final修饰的类无法被继承,不能有子类。

2.     final方法不可改写。

3.     final修饰的属性在定义时必须赋予初值,且之后不可修改,被视为常量。

关于构造函数

构造函数实在对象实例化(new)的时候被调用,且没有返回值。如果不自己定义构造函数,java提供默认构造函数,将对象实例化后其中的属性值为对应类型的默认值。

import语句

import  xxx.*;表示引用xxx目录下的所有类文件但不包括xxx子目录下的类文件。使用xxx子目录下的类文件必须添加import语句

import xxx.xx;

Java基础知识查漏 一的更多相关文章

  1. java基础知识查漏 二

    一.java基本数据类型所占的内存大小 在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符 单元的字符类型和1种用于表示真值的boolean类型.( ...

  2. java基础知识查漏 四

    1.JAVA多线程实现方式 (1)继承Thread类,并重写run()方法 (2)实现Runnable接口,,实现run()方法 (3)使用ExecutorService.Callable.Futur ...

  3. java基础知识查漏 三

    一.Servlet 和Jsp的生命周期 1.Servlet生命周期       Servlet是运行在Servlet容器(有时候也叫Servlet引擎,是web服务器和应用程序服务器的一部分,用于在发 ...

  4. JavaScript学习(一)——基础知识查漏补缺

    标签script 我们知道,html要使用js就要使用<script>标签. 两种方式: 一是直接在<script>这里</script>写入代码. 二是在别的文件 ...

  5. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  6. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  7. Java基础知识总结(超级经典)

    Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...

  8. 毕向东—Java基础知识总结(超级经典)

    Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...

  9. java基础知识小小结

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

随机推荐

  1. bzoj 3208 花神的秒题计划I

    bzoj 3208 花神的秒题计划I Description 背景[backboard]: Memphis等一群蒟蒻出题中,花神凑过来秒题-- 描述[discribe]: 花花山峰峦起伏,峰顶常年被雪 ...

  2. YUV和RGB格式分析【转】

    转自:http://www.cnblogs.com/silence-hust/p/4465354.html 做嵌入式项目的时候,涉及到YUV视频格式到RGB图像的转换,虽然之前有接触到RGB到都是基于 ...

  3. 客户端负载均衡Ribbon之源码解析

    什么是负载均衡器? 假设有一个分布式系统,该系统由在不同计算机上运行的许多服务组成.但是,当用户数量很大时,通常会为服务创建多个副本.每个副本都在另一台计算机上运行.此时,出现 "Load ...

  4. SpringBoot 整合 RabbitMQ(包含三种消息确认机制以及消费端限流)

    目录 说明 生产端 消费端 说明 本文 SpringBoot 与 RabbitMQ 进行整合的时候,包含了三种消息的确认模式,如果查询详细的确认模式设置,请阅读:RabbitMQ的三种消息确认模式 同 ...

  5. IntelliJ IDEA常用统一设置2-Inspections检查设置(Linux/Mac/Windows)

    Inspections检查设置功能,能检查一些普通问题,比如代码风格等等.当然,这个虽然没有CheckStyle这些插件专业,但也是另一种选择. 官方参考:https://www.jetbrains. ...

  6. DVBS/S2在数字电视系统中的应用 三 (LNB介绍)

    DVBS/S2在数字电视系统中的应用 三 (LNB介绍) 老谢在前面两篇文章中(例如以下).都有提到LNB这一概念. DVBS/S2在数字电视系统中的应用 一 (DVBS/S2接收系统Block Di ...

  7. STP 根桥、根port、指定port是怎样选举的

    学习CCNA过程中,对交换机的根桥.跟port以及指定port选举有些迷糊.也度娘了一番,总认为一部分人解释的不够全面精细.通过细致研究终于有了自己的理解,分享给大家,假设纰漏,欢迎指正. STP收敛 ...

  8. ubuntu环境准备

    一. 桌面方面看起来比较不爽,12的版本用起更不习惯,决定改成命令行登陆 a. vi  /ect/default/grub 文件 b. 修改成第二个红框的情况 c. 执行update-grub命令 d ...

  9. ffmpeg 错误 real-time buffer [USB2.0 Camera] [video input] too full or near too full (101% of size: 30412)

    利用ffmpeg 获取USB 或者本地摄像机视频,并将视频编码后保存本地文件或者发送到远端流媒体服务经常会出现 类似real-time buffer [USB2.0 Camera] [video in ...

  10. mqtt client python example

    This is a simple example showing how to use the [Paho MQTT Python client](https://eclipse.org/paho/c ...