Java-第一章 基础数据类型

第一章主要是学会基本的变量和范围,在加上简单的函数定义,调用等。

老规矩第一步是hello word和输出测试,学会使用输出函数 c的printf函数 c#的message函数,用来测试输出的,在java中就是

class Untitled {
	public static void main(String[] args) {
		System.out.println("hello new world!");
	}
}

这里还没有用ide,在线的java代码执行https://tool.lu/coderunner/

数据类型

基本类型无非数字(整形 浮点 )字符 字符串等 集合--也就是数组

定义方法同一般的一样:类型 变量名[=变量值][,变量名[=变量值]];

也就是可以初始化 可以不初始化 可同时定义多个变量
class text {
	public static void main(String[] args) {
		int a,b;
		int c=3;
		int d,e=3;
		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
		System.out.println(d);
		System.out.println(e);
	}
}
警告:a,b,d未初始化 不可以使用,初始化之后输出如下

开始正式变量类型
int a=3; //整形
int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值
byte z = 6;         // 声明字节
String s = "runoob";  // 声明并初始化字符串 s
double pi = 3.14159; // 声明了双精度浮点型变量
char x = 'a';        // 声明变量 x 的值是字符 'x'。

//Java的数据类型分为8种,分别是:byte、short、int、long、float、double、char以及Boolean,

关于数据类型的转换,在高级的向低级的时候可以隐式转换,例如

byte 8位、有符号   short 16位、有符号    int类型 32位有符号   long类型64位有符号

float 32位  double64位   char 16位无符号整数

//什么是高位往低转换 大概就是
long aa = int + int   那么得到的结果可以从int隐式转换为long

//但是如果long转换为int 则会造成损失 因为long是更加长的可以表示更大范围的数字
int bb=(int)longnum;  强制将一个long类型进行转换为int

对了补充一下 在定义long类型数字时候需要L
long longnum=1234567L;

//数字可以隐式转换为字符串输出 不用特意转换
int a = 123;
String str = new String("123"+str);

byte的区别在于它是一个8位的一个字节 int是32位的四个字节,常用的就是二者的转换,简单看一下就是移位和强制转换(了解一下就可以)

//https://www.cnblogs.com/langren1992/p/4717241.html
public static byte[] int2byte(int res) {
  byte[] targets = new byte[4];
  targets[0] = (byte) (res & 0xff);// 最低位
  targets[1] = (byte) ((res >> 8) & 0xff);// 次低位
  targets[2] = (byte) ((res >> 16) & 0xff);// 次高位
  targets[3] = (byte) (res >>> 24);// 最高位,无符号右移。
  return targets;
  }

java没有结构体

java需要自己使用class来实现结构体的数据结构和功能,举一个简单的例子

public  class Test
{
    private int x;
    private int y;
    public int getX() {
        return x;
    }
    public void setX(int x) {
        this.x = x;
    }
    public int getY() {
        return y;
    }
    public void setY(int y) {
        this.y = y;
    }
//原文:https://blog.csdn.net/fyp19980304/article/details/80448060 


//把要存储的数据设为public变量,在其他主函数类中直接访问修改。
class Supply implements Comparable<Supply>{
	int number;
	int max;
	int spend;

如果想要自己实现一些功能,只能继承一些接口,或者是自己写了。

java里也是有数组的

普通数组

double[] myList;         // 首选的方法
//或
double myList[];         //  效果相同,但不是首选方法

//Java语言使用new操作符来创建数组,语法如下:
arrayRefVar = new dataType[arraySize];

//数组变量的声明,和创建数组可以用一条语句完成,如下所示:
dataType[] arrayRefVar = new dataType[arraySize];

//另外,你还可以使用如下的方式创建数组。
dataType[] arrayRefVar = {value0, value1, ..., valuek};

遍历方法可以是下标遍历 可以是元素遍历
for(type element: array)
    //直接使用element访问
for(int i=startindex;i<endindex;i++)
    //使用array[i]访问

ArrayList

ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 
动态的增加和减少元素,实现了ICollection和IList接口,灵活的设置数组的大小

ArrayList List = new ArrayList(); 

//可以规定泛型T
import java.util.ArrayList;
import java.util.Iterator;

class example {
      public static void main(String[] args){
		  //ArrayList<int> al = new ArrayList<iny>(); 这句是错的 这个列表需要使用包装类型 不能使用原本的int
          //int用Integer
          //double用double
          //float 用Float
		  ArrayList<Integer> al = new ArrayList<Integer>();
		  al.add(1);
		  al.add(2);
          
          //三种遍历方法
		  for(int temp:al)
		  {
		     System.out.println(temp);
		  }
           for (int i = 0; i < al.size(); i++) {
            System.out.println(al.get(i));
           }
          //使用迭代器 进行遍历
           Iterator<Integer> it=al.iterator();
           while(it.hasNext()){
               System.out.println(it.next());
           }
      }
}

//默认的构造器,将会以默认(16)的大小来初始化内部的数组
public ArrayList(ICollection); 
//用一个ICollection对象来构造,并将该集合的元素添加到ArrayList 
public ArrayList(int); 
//用指定的大小来初始化内部的数组

里面常用的方法是:

Add方法用于添加一个元素到当前列表的末尾 
AddRange方法用于添加一批元素到当前列表的末尾 
Remove方法用于删除一个元素,通过元素本身的引用来删除 
RemoveAt方法用于删除一个元素,通过索引值来删除 
RemoveRange用于删除一批元素,通过指定开始的索引和删除的数量来删除 
Insert用于添加一个元素到指定位置,列表后面的元素依次往后移动 
InsertRange用于从指定位置开始添加一批元素,列表后面的元素依次往后移动

另外,还有几个类似的方法: 
Clear方法用于清除现有所有的元素 
Contains方法用来查找某个对象在不在列表之中

没必要一一演示,会的直接用 不会的需要的自己查就可以。

//函数定义 特殊的是多个不限制输入的
public class Varable {
    public static void main(String[] args) {
        System.out.println(add(2, 3));
        System.out.println(add(2, 3, 5));
    }
 
    public static int add(int x, int... args) {
        int sum = x;
        for (int i = 0; i < args.length; i++) {
            sum += args[i];
        }
        return sum;
    }
}

猜你喜欢

转载自blog.csdn.net/iamsongyu/article/details/88779861
今日推荐