Java基础语法学习


前言

 Java学习的开端可能不是很轻松,万事开头难,Java入门之后你就会感到豁然开朗。我将会从Java的语法基础、面向对象编程、常用类和方法、数据结构…等逐步更新学习笔记。
希望能对你的学习有所帮助!


提示:以下是本篇文章正文内容,Java系列学习将会持续更新

一、基本数据类型

在这里插入图片描述
①1字节占的二进制位数是8位,boolean型占的二进制位数是1位

②定义长整型数据

long n = 2021041820210418L;   //(√)加L后缀

③整型最值
Integer.MAX_VALUE、Long.MIN_VALUE

④字符串和数值之间的转换

String strl = "1234";
int a = Integer.parseInt(strl);

int number = 2356;
String s = String.valueOf(number);

⑤移位运算
<< 左移
>> 右移
>>>无符号右移
例:
<< 1;  //相当于*2
>>1;  //相当于/2

回到目录…

二、标准输入、输出

package bao_1;
import java.util.Scanner;
//导入包java.util中的Scanner类
public class Text_01 {
    public static void main(String[] args) {
        //创建了一个Scanner对象,并且将它的引用值赋值给变量input
        Scanner input = new Scanner(System.in);
        byte a = input.nextByte();     // -128~127
        short b = input.nextShort();   // -32768~32767
        int c = input.nextInt();       // -2……~2……   12位整数
        long d = input.nextLong();    // -9……~9……   19位整数
        float e = input.nextFloat();  //
        double f = input.nextDouble();//
        String s1 = input.nextLine(); //以回车键为结束标志
        String s2 = input.next();     //以空白字符为结束标志
        input.close();    //关闭input输入流,以释放此流链接的系统资源
       
        //标准输出流
        System.out.print("请输入两个数表示测试坐标:");
        System.out.println("结果为:" + sum);
        System.out.println(String.format("结果为:%.2f",result));
    }
}

//多次读入

Scanner input = new Scanner(System.in);
while(input.hasNext()){   //判断下一个元素的有无
   int a = input.nextInt();
   if(a==45){
       System.out.println("yes");
       break;
   }else{
       System.out.println("false");
   }
}

通配符导入:通过使用*号作为通配符,导入一个包中的所有类。

import java.util.*;

回到目录…

三、swicth语句

switch(表达式:整型/字符/字符串/枚举) {
//表达式结果指向的是目标值1/目标值2/目标值3
	case 目标值1: 执行语句1; break;
	case 目标值2: 执行语句2; break;
	case 目标值3: 执行语句3; break;
	derfault: 执行语句n+1;
}

回到目录…

四、方法

①返回值类型是int

public static int max(int num1,int num2) {
	if(num1 > num2)
		return num1;
	else
		return num2;
}

②返回值类型是boolean

public static booblean runnian(int year) {
	if((year%400==0)||(year%4==0&&year%100!=0))
		return true;
	else
		return false;
}

③无返回值类型void

public static void sort(int[] s) {
   for(int j=s.length-1; j>0; j--)
      for(int i=0; i<j; i++)
	      if(s[i]>s[i+1])
		      s[i] = s[i]+s[i+1](s[i+1]=s[i]);
}

④返回值类型是int[ ]

public static void main(String[] args) {
		int[] s1 = getArray(); //得到一个数组,附带元素值
		int[] s2 = copyOf(s1); //建立一个数组,复制s1[]的值
		.................
}
public static int[] getArray() {
		Scanner input = new Scanner(System.in);
		System.out.print("请输入6个元素:");
		int[][] sr = new int[6];
		for(int i = 0; i < sr.length; i++)
			sr[i][j] = input.nextInt();
		return sr;
}
public static int[] copyOf(int[] s){
        int[] x = new int[s.length];
        for(int i=0;i<x.length;i++)
            x[i] = s[i];
        return x;
}

回到目录…

五、数组

①创建及初始化

double[] sr = {1,5,4,6,9};

或者

double[] sr = new double[10];
for(int i = 0; i < sr.length; i++){
	sr[i] = input.nextDouble();
}

二维数组

int[][] sr = new int[10];

②字符数组

char[] s = {'a','b','c','d','e'};

或者

char[] s = new char[5];

③字符串数组

String[] str = new String[5];

或者

String[] str = {"jhg","hk","oitrg"};

④for-each 只读性循环,不能修改数据

for(元素类型T 循环元素名O : 循环对象) {
      //对O进行操作
}

double[] sr = {1.2,2,3.5,1.6};
for(double i: sr) {
		System.out.println(i);
}

回到目录…

六、动态数组

①ArrayList类(该类在java.util包下,需要import)

ArrayList<E> list1 = new  ArrayList<>();

E:泛型数据类型,用于设置objectName的数据类型,只能为引用数据类型

基本类型booleanbyteshortintlongfloatdoublecharString
引用类型BooleanByteShortIntegerLongFloatDoubleCharacterString

可以存放Object的子类:Class、String、Character、Boolean、Number等

②Java 中 ArrayList 和 Vector 同为动态数组,有什么异同?

相同点:
  1. 两者都是基于索引的,内部由一个数组支持;
  2. 两者都维护插入的顺序,可以根据插入顺序获取元素;
  3. ArrayList 和 Vector 都允许 null 值,也可以使用索引值对元素进行随机访问;

不同点:
  1. Vector 是同步的,而 ArrayList 不是,如果需要在迭代的时候对列表进行改变吗,应该使用 CopyOnWriteArrayList;
  2. ArrayList 比 Vector 快,也不会过载;
  3. ArrayList 更通用,可以使用 Collection 工具类更轻易地获取同步列表和只读列表;

③Java 中为什么不建议使用Vector?

  1. 因为vector是线程安全的,所以效率低,这容易理解,类似StringBuffer
  2. Vector空间满了之后,扩容是一倍,而ArrayList仅仅是一半
  3. Vector分配内存的时候需要连续的存储空间,如果数据太多,容易分配内存失败
  4. 只能在尾部进行插入和删除操作,效率低

回到目录…


总结

提示:这里对文章进行总结:
以上就是今天的学习笔记,本文介绍了Java的基础语法,是基于有C语言基础的情况下做的一些总结,所以不是很详细。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只咸鱼。。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值