基础-数据类型,运算符,for,数组

一.数据类型

Java中有八种基本类型,都是Java语言预先定义好的,并且是关键字。

这八种基本类型分别是:
整型 (4种)
字符型 (1种)
浮点型 (2种)
布尔型(1种)

[图片上传失败...(image-b250da-1585128155504)]

2.字符型:

char类型用于存放一个字符,值用单引号'表示 (双引号表示字符串)
其长度和short一样,也是16位的
只能存放一个字符,超过一个字符就会产生编译错误

[图片上传失败...(image-e48d9a-1585128155504)]

4.boolean型

[图片上传失败...(image-a6154-1585128155504)]

5.String类型其实并不是基本类型,但是它是如此广泛的被使用,常常被误以为是一种基本类型。
String类型是Immutable的,一旦创建就不能够被改变

final的使用

final 修饰一个变量,有很多种说法,比如不能改变等等
准确的描述是 当一个变量被final修饰的时候,该变量只有一次赋值的机会

// 方式一:在声明的时候赋值
public class HelloWorld {
    public void method1() {
        final int i = 5;    
        i = 10; //i在第4行已经被赋值过了,所以这里会出现编译错误   
    }
}
// 方式二:在声明的时候没有赋值,在后面的代码中进行唯一的一次赋值
public class HelloWorld {
    public void method1() {
        final int i;       
        i = 10; //i在第4行,只是被声明,但是没有被赋值,所以在这里可以进行第一次赋      
        i = 11; //i在第6行已经被赋值过了,所以这里会出现编译错误        
    }
}
// 方式三:final 除了修饰变量,还可以修饰类,修饰方法。
// 方法四:final修饰的是参数
public class Final {  
  public void method(final int i) {
      i = 10; // 这个是错误的,实际上这已经是第二次赋值了
      int sum = 0;
      sum += i;
      System.out.println(sum);
  }   
  public static void main(String[] args) {
      // TODO Auto-generated method stub
//        正确方法是,先实例化,然后在复制是正确的的
      new Final().method(10);
      new Final().method(20); 
  }
}

二.操作符

常用的都学过了

Integer.toBinaryString() 方法,将一个十进制整数转换为一个二进制字符串

三元运算符:(java中唯一一个?)

表达式?值1:值2
如果表达式为真 返回值1
如果表达式为假 返回值2
public class HelloWorld {
    public static void main(String[] args) {
        int i = 5;
        int j = 6;
        int k = i < j ? 99 : 88;
        // 相当于
        if (i < j) {
            k = 99;
        } else {
            k = 88;
        }
        System.out.println(k);
  }
   }

操作符 Scanner

// 包
import java.util.Scanner;
// 使用方法
Scanner s = new Scanner(System.in);
// 读取整数
int a = s.nextInt();
// 读取浮点数
float a = s.nextFloat();
// 读取字符串
String a = s.nextLine();

三.for循环

int values[] = new int[]{18,68,62,82,65,9};
// 普遍方式
for(int i = 0;i<values.length;i++){
  System.out.print(values[i]+" ");
}
// 增强方式
// 如果只想遍历数组中的元素,这种循环不能改变数组的元素
for(int values : values){
  System.out.print(values);
}

四.数组的复制

import java.util.Arrays;
public class Array_Copy {
  public static void main(String[] args) {
      // TODO Auto-generated method stub
      int a[] = {8,15,6,24,12,15};
      int c[] = new int[3];
//        输出原数组
      for(int b : a) {
          System.out.print(b+" ");
      }
//        普通遍历的方法进行复制
      for(int i = 0;i<c.length;i++) {
          c[i] = a[i+2];
      }
//        实现换行
      System.out.println();
//        这是一个操作数组的类,可以不用遍历 直接输出数组
      System.out.println(java.util.Arrays.toString(c));
        // 可以简写 需要先将这个包引入
        // 简写形式System.out.println(Arrays.toString(c));
//        java提供的api进行复制,只需要对应传参
//        参数解释:src:指原数组,srcPos:从第几个开始复制,dest:目的数组,
//               destPos:复制到目的数组的那个位置,length:目的数组的长度
//              需要注意:length要进行两个数组的比对,不得超出
      System.arraycopy(a, 2, c, 0, c.length);
      System.out.println(java.util.Arrays.toString(c));
  }   
}

五.二维数组

在java中数组是不能变化的,可以保证系统的稳定性
eg:
int[2][3]:指的是数组里面包含了两个一维数组,每个以为数组里面有三个元素
public class Two_dimensional_array {

  public static void main(String[] args) {
      // TODO Auto-generated method stub
      // 有两个一维数组,每个一维数组的长度是3(注意:左边是对数组的引用,右边才是创建数组)
      int a[][] = new int[2][3];
      // 可以直接访问一维数组,因为已经分配了空间
      a[1][2] = 5;
      
      // 只分配了二维数组
      // 有两个一维数组,每个一维数组的长度暂未分配
      int b[][] = new int[2][];
      //必须事先分配长度,才可以访问
      b[0] = new int[3];
      b[0][2] = 5;
      
      // 指定内容的同时,分配空间
      int c[][] = new int[][] {
          {1,2,3},
          {4,5},
          {6,7,8,9}
      };
  }
}
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,128评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,316评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,737评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,283评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,384评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,458评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,467评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,251评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,688评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,980评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,155评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,818评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,492评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,142评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,382评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,020评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,044评论 2 352

推荐阅读更多精彩内容

  • 第四天 数组【悟空教程】 第04天 Java基础 第1章数组 1.1数组概念 软件的基本功能是处理数据,而在处理数...
    Java帮帮阅读 1,594评论 0 9
  • DAY 05 1、 public classArrayDemo { public static void mai...
    周书达阅读 655评论 0 0
  • 50道经典Java编程练习题,将数学思维运用到编程中来。抱歉哈找不到文章的原贴了,有冒犯的麻烦知会声哈~ 1.指数...
    OSET我要编程阅读 6,958评论 0 9
  • /*【程序21】 * 作者 南枫题目:求1+2!+3!+...+20!的和 1. 程序分析:此程序只是把累加变成了...
    HUC南枫阅读 433评论 0 0
  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 1,590评论 4 12