java语法

    技术2026-08-22  13

    java语法

    参考: https://www.kancloud.cn/fruitbag/thealgorithm/275925 https://www.runoob.com/java/java-tutorial.html 概念

    多态、继承、封装、抽象、类、对象、实例、方法、重载

    byte 数据类型是8位、short 数据类型是 16 位、int 数据类型是32位、long 数据类型是 64 位、float 数据类型是单精度32位、double 数据类型是双精度64 位、boolean数据类型表示一位的信息;、har类型是一个单一的 16 位 Unicode 字符;

    string

    //list转换string String[] str = new String[]{"abc","123","78"}; char[] helloArray = { 'r', 'u', 'n', 'o', 'o', 'b'}; String str = new String(helloArray); String str = new String("abcedfghig"); String[] arr = str.split(""); char[] chr = s2strtoCharArray();// convert String to char array char ch = s2.charAt(4); // 字符串位置 return 'r' // char at index 4 // find index at first int index = s2.indexOf('r'); // return 4. if not found, return -1 String s1 = new String(); String s2 = "billryan"; int s2Len = s2.length();//长度 s2.substring(4, 8); // 截取 //要修改字符串而不创建新的对象,string不可变,用StringBuilder和append和toostring转换 StringBuilder s3 = new StringBuilder(s2.substring(4, 8)); s3.append("bill"); String s2New = s3.toString(); // return "ryanbill" StringBuffer 与 StringBuilder, 前者保证线程安全,后者不是,但单线程下效率高一些,一般使用StringBuilder //char和string char[] chr = new char[]{'a','b','c'}; chr.toString(); String.valueOf(chr); 四、处理末位带空格的情况 针对末位带空格,通过StringBuffer或者StringBuilder来实现存储,并能够进行多次修改 通过StringBuffer实例.substring(0,StringBuffer实例.length()-1)实现将末位空格去除,再统一输出 五、其他类型转String 直接调用String.valueOf()进行转换 也使用可以使用int+“”;转成字符串 通过String.chatAt()获取下标元素 通过String.substring()截取i之后的元素 通过String.split(“”)分隔字符串得到数组

    数据结构

    //链表 public class ListNode { public int val; public ListNode next; public ListNode(int val) { this.val = val; this.next = null; } } //二叉树 public class TreeNode { public int val; public TreeNode left, right; public TreeNode(int val) { this.val = val; this.left = null; this.right = null; } } //队列 Queue<Integer> q = new LinkedList<Integer>(); int qLen = q.size(); // get queue length Insert add(e) offer(e) Remove remove() poll() Examine element() peek() //提供了 Deque 接口,既可使用 ArrayDeque ( 数组) 来实现,也可以使用 LinkedList Deque<Integer> deque = new ArrayDeque<Integer>(); Deque<Integer> deque = new LinkedList<Integer>();

    arraylist

    double[] myList = new double[size];//定义数组 myList[0] = 5.6; double total = 0; for (int i = 0; i < size; i++) { // 计算所有元素的总和 total += myList[i]; } List<String> list = new ArrayList<String>(); list.add("abc"); //add boolean isEmpty = list.isEmpty(); //判断空isEmpty int size = list.size(); //长度size boolean isExist = list.contains("abc"); //包含contains int index = list.indexOf("abc"); //indexOf int lastIndex = list.lastIndexOf("abc"); Object[] objectArray = list.toArray(); for(Object obj : objectArray){ //for循环 System.out.println(obj); } String s = list.get(0); //获取位置 String old = list.set(0, "abc"); list.add(0, "ghi"); list.remove(0)//移除

    set/hash

    //Set //Set 与 Collection 具有安全一样的接口,通常有 HashSet , TreeSet 或 LinkedHashSet 三种实现。 HashSet 基于散列函数实现,无序,查询速度最快; TreeSet 基于红-黑树实现,有序。在不允许重复元素时可当做哈希表来用。 Set<String> hash = new HashSet<String>(); hash.add("billryan"); hash.contains("billryan"); //map:常用的实现有 HashMap 和 TreeMap ,HashMap 被用来快速访问,而 TreeMap 则保证『 键』 始终有序 Map<String, Integer> map = new HashMap<String, Integer>(); map.put("bill", 98); map.put("ryan", 99); boolean exist = map.containsKey("ryan"); // check key exists in map int point = map.get("bill"); // get value by key int point = map.remove("bill") // remove by key, return value Set<String> set = map.keySet(); // iterate Map for (Map.Entry<String, Integer> entry : map.entrySet()) { String key = entry.getKey(); int value = entry.getValue(); // do some thing }

    java程序

    public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } }

    循环

    int x = 10; while( x < 20 ) { System.out.print("value of x : " + x ); x++; System.out.print("\n"); } //2 do { //代码语句 }while(布尔表达式); //3 for(int x = 10; x < 20; x = x+1) { System.out.print("value of x : " + x ); System.out.print("\n"); } //4 int [] numbers = {10, 20, 30, 40, 50}; for(int x : numbers ){ System.out.print( x ); System.out.print(","); } System.out.print("\n"); String [] names ={"James", "Larry", "Tom", "Lacy"}; for( String name : names ) { System.out.print( name ); System.out.print(","); } //5 if(布尔表达式 1){ //如果布尔表达式 1的值为true执行代码 }else if(布尔表达式 2){ //如果布尔表达式 2的值为true执行代码 }else { //如果以上布尔表达式都不为true执行代码 } //6 switch(expression){ case value : //语句 break; //可选 //你可以有任意数量的case语句 default : //可选 //语句 }

    数据类型

    int a = 5000; float b = 13.65f; byte c = 0x4a;

    输出

    System.out.printf("浮点型变量的值为 " + "%f, 整型变量的值为 " + " %d, 字符串变量的值为 " + "is %s", floatVar, intVar, stringVar); String fs; fs = String.format("浮点型变量的值为 " + "%f, 整型变量的值为 " + " %d, 字符串变量的值为 " + " %s", floatVar, intVar, stringVar);

    其他

    是Scanner in=new Scanner(System.in); int n=in.nextInt();//读取单个字符; String s=in.nextLine();//读取整行输入; //优化: BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String n=inBufferedReader.readLine(); //默认最大最小 max = Integer.MAX_VALUE; min = Integer.MIN_VALUE; //Stinrg类型转换成int;其他同理 Integer.valueOf(string); Integer.parseInt(string); String s="xxxx"; char[]ch=s.toCharArray(); s.subString(i,j);//截取下标从i到j-1; String[]ss=s.split("regex"); //HashMap Map<String,String> map = new HashMap<>(); map.put("key","value"); map.getOrDefault("key","default"); map.get("key"); map.containsKey("key");//是否包含指定key; //集合遍历 //推荐 for(Map.Entry<String,String> entry : map.entrySet()){ entry.getKey(); entry.getValue(); } // 推荐 map.forEach((k, v) -> System.out.println(k + " : " + (v + 10))); // for Map<Integer, Integer> map = new HashMap<Integer, Integer>(); for (Integer key : map.keySet()) { Integer value = map.get(key); System.out.println("Key = " + key + ", Value = " + value); } // 使用Iterator迭代器 Iterator hmIterator = map.entrySet().iterator(); while (hmIterator.hasNext()) { Map.Entry mapElement = (Map.Entry)hmIterator.next(); int marks = ((int)mapElement.getValue() + 10); System.out.println(mapElement.getKey() + " : " + marks); } //队列 Queue<Integer> q = new LinkedList<>(); q.peek(); q.poll(); q.size(); q.poll()//当没有队列元素;出队会返回null; //优先级遍历 PriorityQueue pQueue = new riorityQueue(); Iterator itr = pQueue.iterator(); while (itr.hasNext()) System.out.println(itr.next());
    Processed: 0.012, SQL: 9