javaSE基础04

一、三木运算符

<表达式1> ? <表达式2> : <表达式3>

  "?"运算符的含义是: 先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ,并返回表达式3的结果。

二、控制语句

 2.1顺序结构(最常见)

特点:代码从上到下依次执行

 2.2选择结构

If判断语句:

  If(判断){

    执行的语句

  }

  If(判断){

    执行的语句

  }else{

    执行的语句

  }

  If(判断){

    执行的语句

  }else if(判断语句){

    执行的语句

  }

Switch语句:

使用注意事项:

  1.每一个语句结束后需要有一个break,防止穿透。

  2.Switch语句用于判断的变量只能是int、short、char、byte、String(jdk 7之后才有)

  3.Case后面跟的数据必须是常量

Switch语句的优点:语句清晰,运行速度快。

缺点:if能做的switch不一定能做,但是switch能做的if一定能做

2.3循环结构

While循环:

结构:

  While循环:如果判断不成立不会走,如果你要做条件判断,条件只能是boolean类型

  while(循环条件){

    循环体

  }

死循环:

  while(true){

  }

Do while循环:不管判断成立与否,一定会走一次

  do{

    循环体

  } while (循环条件);

 

  for(; ;){

    循环体

  }

死循环:

  for(; ;){

    循环体

  }

2.4小知识点:转义字符

常见的转义字符:

\ 双引号

\ 单引号

\b  backspace(退格键)

\t  tab

\n 换行

\r 回车

注意:windows上操作文件的时候,需要换行,是需要\r\n一起使用

Import java.io.*

Io为输入输出流

三、数组

3.1 概念:

用来存同一种数据类型的容器

OC中数组的定义:NSArray       NSMutableArray

Java中数组的定义:

数据类型 [ ] 数组名 = new 数据类型 [ 长度 ]

例:int [ ] arr  = new int [ 10] ;

如元素没有被赋值,默认以0来填充

  3.2 数组的初始化方式:

1.静态初始化:这个值给多少就是多少,不能够改变

Int [ ] arr1 = {1,2,3,4};

2.动态初始化:不可变数组  可变数组---->集合 ArrayList

Int [ ]  arr2  = new int [10];

在对数组进复制时,我们可以使用System类的静态方法arraycopy()。

arraycopy()方法的签名如下:

public static void arraycopy(Object source,int sourcePos,Object destination,int destinationPos,int length)

该方法实现从源数组的指定位置开始复制指定长度的元素到目标数组的指定位置中,第一个参数就是源数组,第二个参数是要复制的源数组中的起始位置,第三个参数是目标数组,第四个参数是要复制到的目标数组的起始位置,第五个参数是要复制的元素的长度。

下面这些代码用来测试使用arraycopy方法

import java.util.Arrays;

public class TestSystemArraycopy {

public static void main(String[] args) {

// 此方位为native方法。

// public static native void arraycopy(

// Object src, int srcPos, Object dest, // int destPos, int length);

//初始化

int[] ids = { 1, 2, 3, 4, 5 }; System.out.println(Arrays.toString(ids)); // [1, 2, 3, 4, 5]

//测试自我复制

//把从索引0开始的2个数字复制到索引为3的位置上

System.arraycopy(ids, 0, ids, 3, 2); System.out.println(Arrays.toString(ids)); // [1, 2, 3, 1, 2]

//测试复制到别的数组上

//将数据的索引1开始的3个数据复制到目标的索引为0的位置上

int[] ids2 = new int[6];

System.arraycopy(ids, 1, ids2, 0, 3); System.out.println(Arrays.toString(ids2)); // [2, 3, 1, 0, 0, 0]

//此功能要求

//源的起始位置+长度不能超过末尾

//目标起始位置+长度不能超过末尾

//且所有的参数不能为负数

javaSE基础04的更多相关文章

  1. JavaSE基础之矩阵运算

    JavaSE基础之矩阵运算 1.矩阵类:Matrix.java 包括矩阵的加.乘运算,行列式的求解,最大最小元素等 package cn.com.zfc.help; import java.text. ...

  2. javaSE基础07

    javaSE基础07 一.static静态修饰符 用了static修饰的变量就会变成共享的属性,只会初始化一次,在内存中只存在一个,并且每个对象都可以访问,存放在方法区(数据共享区) 1.1 stat ...

  3. javaSE基础06

    javaSE基础06 一.匿名对象 没有名字的对象,叫做匿名对象. 1.2匿名对象的使用注意点: 1.我们一般不会用匿名对象给属性赋值的,无法获取属性值(现阶段只能设置和拿到一个属性值.只能调用一次方 ...

  4. javaSE基础05

    javaSE基础05:面向对象 一.数组 数组的内存管理 : 一块连续的空间来存储元素. Int [ ] arr = new int[ ]; 创建一个int类型的数组,arr只是一个变量,只是数组的一 ...

  5. javaSE基础03

    javaSE基础03 生活中常见的进制:十进制(0-9).星期(七进制(0-6)).时间(十二进制(0-11)).二十四进制(0-23) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为 ...

  6. javascript基础04

    javascript基础04 1.循环语句 1.While 语句: while (exp) { //statements; } var i = 1; while(i < 3){ alert(i) ...

  7. javaSE基础02

    javaSE基础02 一.javac命令和java命令做什么事情? javac:负责编译,当执行javac时,会启动java的编译程序,对指定扩展名的.java文件进行编译,生成了jvm可以识别的字节 ...

  8. JavaSE基础01

    JavaSE基础篇01 ------从今天开始,我就学习正式java了,O(∩_∩)O哈哈~,请大家多指教哦 一.Windows常见的dos命令 操作dos命令: win7 --->开始 --- ...

  9. javase基础复习攻略《十》

    按照计划本篇为大家总结JAVA的网络编程,什么叫网络编程呢?网络编程!=网站编程,对于这一点大家一定要注意,很多小朋友都曾经这么认为.既然谈到网络编程,咱们先了解一下网络的基础知识,什么是计算机网络? ...

随机推荐

  1. python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法?

    python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法: 原因:因为jenkins是用windows installer 安装成 windo ...

  2. eclipse运行没问题,tomcat以脚本启动后插入数据库的中文会乱码

    记一次部署工程的时候遇到的问题 部署war包到win7的时候发现,布上去后插入数据库的中文会乱码,然后发现用eclipse运行源码没问题,一开始以为是war打出来的时候编码错误,然后将eclipse的 ...

  3. [虚拟机]Virtual Box的使用--共享文件夹

    最近为系统测试使用了虚拟机,VM太卡,所以使用了VBox,运行效果还不错 为了主机和客户机之前方便进行数据传输,一般采用文件夹共享的方式(当然,可以直接拖拽) 1,直接拖拽,需要做如下设置 主要的是“ ...

  4. web前端基础知识-(八)Ajax

    Ajax即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术,AJAX = 异步 Ja ...

  5. vue2.0---组件

    什么是组件? 组件是vue.js最强大的功能之一.它可以扩展HTML元素,封装可重用的代码.在更高的层次上,组件是自定义的元素,vue的编译器给它添加特殊功能.其实在有些情况下,组件也可以是原生HTM ...

  6. Mysql 查看、创建、更改 数据库和表

    一.一探究竟 我想看看有多少个数据库,有多少个表,以及表里有啥东西.那么你可以这样: 图形界面: 命令: 查看多少个数据库:注意 后面带s #查看 SHOW DATABASES; #查看表 USE b ...

  7. 【转载】Unity中矩阵的平移、旋转、缩放

    By:克森 简介 在这篇文章中,我们将会学到几个概念:平移矩阵.旋转矩阵.缩放矩阵.在学这几个基本概念的同时,我们会用到 Mesh(网格).数学运算.4x4矩阵的一些简单的操作.但由于克森也是新手,文 ...

  8. Code Snippets 代码片段

    Code Snippets 代码片段       1.Title : 代码片段的标题 2.Summary : 代码片段的描述文字 3.Platform : 可以使用代码片段的平台,有IOS/OS X/ ...

  9. Lamda表达式使用

    public class Lambda { public static void main(String[] args) { Lambda lambda=new Lambda(); String so ...

  10. oracle 关于null值排序

    在oracle中根据字段来desc排序的话null值可能会在数据的最前面.然而有时候我们查看数据的时候并不希望能够在前面看到这些null值的排序数据. 因此我查了一下: 1.排序的时候运用nvl(). ...