美文网首页
算法 - Java基础001

算法 - Java基础001

作者: 刘杰克 | 来源:发表于2020-02-24 15:20 被阅读0次

Java语言四种最基本的原始数据类型

1、 整型(int)
2 、浮点型(double)
3 、布尔型(boolean)
4 、字符型(char)

Java运算符优先级

1、运算符*和/,(以及%)的优先级高于+和-
2、在逻辑运算符中,优先级依次为!、 &&、||

Java类型转换

1、将浮点型转换为整型将会截断小数部分而非四舍五入
2、尽量少使用类型转换, 最好在表达式中只使用同一类型的字面量和常量。所谓字面量就是指由字母,数字等构成的字符串或者数值,它只能作为右值出现。如:int a=123 其中123 就是字面量。

Java语句

1、声明语句:创建某种类型的变量并用标识符为其命名
2、赋值语句:将某种类型的数值赋予一个变量
3、条件语句:根据指定条件执行的语句
if(<boolean expression>){<block statements>}
else{<block statements>}
4、循环语句:满足指定条件重复执行的语句,执行break,立即从循环中退出, 执行continue,则立即开始下一轮循环
for(<initialize>;<boolean expression>;<increment>)
{<block statements>}
while(<boolean expression>)
{<block statements>}
5、调用语句:调用另一个方法 如int nums = stdIn.readInt();
6、返回语句:根据指定返回类型执行的语句 如return false;

Java数组

1、创建数组 如 int[] nums = {1, 2, 3, 4, 5};
2、使用数组:典型数组处理

// 找出数组中最大的元素
double max = nums[0];
for(int i=1;i<nums.length;i++){
        if(nums[i]>max){
           max = nums[i]
        }
}
// 计算数组元素的平均值
double sum = 0.0;
for(int i=0;i<nums.length;i++){
            sum +=nums[i];
}
double average = sum / nums.length;
// 复制数组
double[] d = new double[nums.length];
for(int i=0;i<nums.length;i++){
           d[i]=nums[i];
}
// 颠倒数组元素的顺序
for(int i=0;i<nums.length/2;i++){
          double temp = a[i];
          a[i] = a[nums.length-1-i];
          a[nums.length-1-i] = temp;
}

3、使用二维数组:M行长度为N的数组的二维数组
double[][] nums = new double[M][N];

Java 静态方法

1、使用静态方法

// 判定一个数是否是素数
public static boolean isPrime(int nums){
          if(nums<2){
                return false;
           }
          for(int i=2;i*i<=nums;i++){
                if(nums%i ==0){
                        return false;
                }
                else{
                    return true;
                }
          }
}

2、调用静态方法 如Math.abs();

Java 递归

编写递归代码时最重要的有以下三点

  • 递归总有一个最简单的情况 - 方法的第一条语句总是一个包含return的条件语句
  • 递归调用总是去舱室解决一个规模更小的子问题
  • 递归调用的父问题和尝试解决的子问题之间不应该有交集

Java 字符串

类型转换
static int parseInt(String s); 将字符串s转为整数
static String toString(int i); 将整数i转换为字符串
static double parseDouble(String s); 将字符串s 转为浮点数
static String toString(double x); 将浮点数x转换为字符串

Java 二分查找

import java.util.Arrays;

public class BinarySearch
{
    public static int rank(int key, int[] nums){
        // 数组必须是有序的
        int startIndex = 0;
        int endIndex = nums.length - 1;
        while (startIndex<=endIndex){
            // 被查找的键要么不存在 要么必然存在于a[lo...hi]中
            int mid = startIndex + (endIndex-startIndex)/2;
            if(key<nums[mid]){
                endIndex = mid - 1;
            }
            else if(key>nums[mid]){
                startIndex = mid + 1;
            }
            return -1;
        }
        return 0;
    }
    public static void main(String[] args) {
        int[] nums = {1,2,444,-666,25,44,43,5,32,4,-9,22,0};
        Arrays.sort(nums);
        int key = -666;
        if(rank(key,nums)<0){
            System.out.println(key);
        }
    }
}

相关文章

网友评论

      本文标题:算法 - Java基础001

      本文链接:https://www.haomeiwen.com/subject/aonpqhtx.html