局部变量:不是声明在类体括号里面的变量
(1)必须要先赋值,后使用,否则通不过编译,局部变量没有默认初始化值
(2)作用范围:定义开始到定义它的代码块结束
(3)同一范围内,不允许2个局部变量命名冲突
参数传递时,简单类型进行值转递 (参数进行传递时都会先去栈中生成一个副本的,使用结束后释放)
自动类型提升:
byte a = 1;
byte b = 2;
a = a+b; //编译出错自动类型提升成int
a += b; //自加没有自动类型提升问题
类型自动提升规则:
a和b作某种运算
a和b中有double,结果就是double
a和b中有float,结果就是float
a和b中有long,结果就是long
除此之外,结果都是int
把高字节转成低字节,需要作强制类型转换. byte c=(byte)a+b;
移位运算符:效率最高
>> 有符号右移,补符号位
移负数位,则将该数值加32后再进行移位
数值的2进制是按照补码保存的
>>> 右移后高位都补0
逻辑运算符:
&/|也可以作为逻辑运算符
&& 先判断前面一个条件,如果为假,则不用计算后一个条件
|| 先判断前面一个条件,如果为真,则不用计算后一个条件
" + "运算符:
两个操作的对象是数值时,是加法
如果有一个是字符串时,则是字符串的连接
流程控制语句:
同Core C++
switch中的变量类型只能是byte、 short、int、char四种类型
数组:
声明数组:
数组能以下列形式声明:
类型[] array;
类型 array[];
注:
JAVA中推荐用:类型[] array;
一个数组是一个对象
声明一个数组没有创建一个对象
声明时不用指定长度
创建数组:
创建基本数据类型数组:int[] i = new int[2];
创建引用数据类型数组:Student[] s = new Student[100];
数组创建后其中的元素有初始值
类型 黙认值
byte 0
short 0
int 0
long 0l
float 0.0f
double 0.0d
char \u0000
boolean false
reference types null
注:
创建时一定要指定长度
int[] i2=new int[]; //error
初始化数组:
声明、创建、初始化分开:
int[] i; //定义数组
i = new int[2]; //分配空间
i[0] = 0; //初始化
i[1] = 1;
声明、创建、初始化在同一时间 :
int[] i = {0,1}; //显示初始化 {}中有几个值,则数组长度为几
Student[] s = {new Student(),new Student()};
注: int[] i=new int[]{1,2,3}; //后面[]中不可以写数值
int[] i1=new int[3]{1,2,3}; //error
二维数组:(其实是一个一维数组,它的每一个元素又是一个一维数组)
int[][] i1 = new int[2][3];
int[][] i4 = {{1,1,1},{2,2,2},{3,3,3}};
int[][] i3 = new int[][3]; //不允许高维没分配空间而先给低维分配空间
int[][] i2 = new int[2][];
i2[0] = new int[2];
i2[1] = new int[3];
数组长度:
数组的属性length
数组长度一旦确定,不可改变
int[] i = new int[5]; 则i.length= 5
数组拷贝:
系统类System提供的
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src: 源数组
srcPos: 从源数组哪个位置开始拷贝(位置指的是元素的下标)
dest: 目标数组
destPos: 拷贝的元素放到目标数组的起始位置
length: 拷贝多少个
数组排序:
自己实现一个排序方法来进行排序
或者调用java.util.Arrays.sort(Object o)
分享到:
相关推荐
30 seconds of java8 > 你可以在30秒或更短时间内收集有用的Java8代码片段。 使用 Ctrl F 或者 command F 来查找代码片段。 代码片段基于 Java8,如果你还不熟悉可以在这里学习。 代码片段翻译自 little-...
to-day routine.You'll be guided through setting up tools, frameworks, and the environment you need, and we will dive right into hands-on exercises with the goal of mastering one practice, tool, or ...
ipmi-second-gen-interface-spec-v2-rev1-1,因特尔提供的2020年最新资料,一共600多页的文件,绝对是一手最好的资料,看完这个,你就不用看国内摘抄的了,也不要看别的资料了
import java.text.SimpleDateFormat; import java.util.*; public class CalendarUtil { public static void main(String args[]) { System.out.println("First day of week is : " + new ...
TCP_IP Sockets in Java, Second Edition_ Practical Guide for Programmers
The second part primarily focuses on core network programming concepts such as sockets, RMI, Mail, XML-RPC etc. The state-of-the-art concepts such as SOAP, Applet, Servlet, JSP, JDBC, Hibernate, JMS,...
ipmi-second-gen-interface-spec-v2-rev1-1.pdf
从TDD的基础知识开始,并理解为什么采用TDD有益,这本书将带您从使用Java的TDD的第一步开始,直到您有足够的信心将其纳入日常例行程序中。通过设置所需的工具,框架和环境,我们将直接进行动手练习,目标是一次掌握...
商业计划 -【智能驾驶】Second stste-软件定义汽车的开源基础软件.pdf
Perfect for migrating to Java from a fellow object-oriented language (such as C++), the second edition of Thinking in Java continues the earlier version's thoughtful approach to learning Java inside ...
作为历史上使用最广泛的编程语言之一,Java开发人员必须找到有效的使用方式,以便充分利用最新Java功能的强大功能。 Java 11 Cookbook提供了一系列具有简单明了的Java 11代码示例的软件开发解决方案,以帮助您构建...
Mastering Ansible - Second Edition-406
原有的代码仓库也可以下载得到 https://github.com/PacktPublishing/Learning-Data-Mining-with-Python-Second-Edition 此处直接放在了CSDN上,方便大家下载,若有用,请大家多多支持一下我。
对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规划的两个...
通过构建行业级的实用项目来学习Java 11编程的基础知识 这本书是关于什么的? Java是程序员和开发人员最常用的软件语言之一。 在本书中,您将快速学习Java 11的新功能,并体验一种简单而强大的软件开发方法。 您将...
Java 9 Concurrency Cookbook - Second Edition by Javier Fernandez Gonzalez English | 25 Apr. 2017 | ASIN: B01KOG6V5M | 594 Pages | AZW3 | 4.11 MB Key Features Get detailed coverage of important ...
Boost C++ Application Development Cookbook - Second Edition - 2017.pdf
2、Modern.Compiler.Implementation.in.Java.Second.Edition.chm Last year you may have seen the Modern Compiler Implementation in C: Basic Techniques (1997) which was the preliminary edition of our new ...
Ansible Configuration Management, Second Edition-2015-122页 Ansible Configuration Management Leverage the power of Ansible to quickly configure your Linux infrastructure with ease Daniel Hall