• java概述~至数组


    java概述

    1. Java是gaosiling开发的编程语言

    2. Java的三种架构是:

    • JavaEE :java PlatForm Enterprise Edition企业级开发应用
    • JavaSE :Java Platform Standard Edition 标准版的应用开发平台
    • JavaME: Java Platform Micro Edition 微小板的应用开发平台

    3. jre和jdk的关系

    • jdk: java Development Kit = jre+kit
    • jre: java runtime enviroment
      4.为什么要配class,和classPath

     配置classpath后那么Java虚拟机会再指定的文件夹目录下查找配置文件
     path是设置dos命令下面的命令要去哪里查找。而Java如果没有配着环境变量, 那么再dos窗口下输入javac命令就会报错

    java语法基础

    1. 关键字:就是Java赋予特殊含义的单词
    2. 标识符: 就是程序中自定义的名词。比如:类名,变量名,函数名
    • 数字不可以开头
    • 不可以使用关键字
    • 由数字, 字母, $, 下划线 组成
    1. 常量: 是指再程序中不会变化的量
    2. 变量:内存中的一个存储空间 ,用于存储常量数据。
    • 作用: 方便于运算。 因为有些数据不确定。所以确定数据的名词(变量名)和变量名上的存储空间
    • 特点:变量空间可以重复使用
    • 什么时候定义变量: 只要数据不确定的时候就可以定义变量

    5. 变量需要什么?

    • 变量类型, 变量名称, 变量初始化

    6.变量的作用域和生命周期:

    作用域: 开始在定义的位置开始, 到最近的大括号结束。
    离开作用域,未必会被清理,因为内存未必会满, 所以垃圾回收器未必会被调用

    7. 运算符号:

    • 算术运算符:+ - * / %
    • 连接符号: +
    • 赋值运算符: =
    • 比较运算符:
      特点: 结果要么是true要么是false
    • 逻辑运算符:& | ^ ! && ||

    8. & 和&&:

      &不论左边结果什么,右边都将参与计算,而&& 如果左边为假,右边不参加计算。 | 和|| 的区别:与上面类似,换成左边为真

    9.控制语句:

    if, switch, do...while, while, for
    if在判断固定值的时候用。
    switch在判断多个值的时候用。
    do...while是先执行后判断循环条件的循环。
    while是先判断后循环
    for是由下标进行控制循环的次数

    ps: switch中有一个default:不论在什么时候它默认都会执行。

    10. break,continue,retrun的区别:

    continue跳出一层循环, break跳出所有循环, return跳出方法

    1. 函数: 为了提高代码的复用性,可以将其定义成一个单独的功能

    定义格式:

    执行语句;
    return 返回值;
    }
    

    函数作用:

    • 定义功能
    • 用于封装代码提高代码的复用性。

    主函数:

    • 保证该类的独立运行
    • 因为它是程序的入口
    • 它可以在类中进行测试。

    函数定义名称是为什么?

    • 为了对该功能进行标识
    • 为了通过名称就可以明确函数的功能, 提高代码的阅读性。

    12. 重载的定义是:

    • 在一个类中, 函数名称相同, 但是函数签名不同, 则被称为重载。

    13. 数组:

    用于存储同一类型的数据的容器
    好处: 可以通过下标操作一组数据

    元素类型[] 变量名 = {元素1, 元素2, 元素3}
    元素类型[] 变量名 = new 元素类型	{元素1, 元素2, 元素3...}
    
    //二分查找法:
    public static int halfSeacher_2(int[] arr, int key)
    int min, max, mid;
    min = 0;
    max = arr.length-1;
    mid = (max + min ) / 2
    while(arr[mid] != key){
    	if(key>arr[mid]){
    		min = mid +1;
    	}else if(key < arr[mid]){
    		max = mid-1;
    	}
    }
    
    //选择排序,选最小的放在左边
    for(int i = 0;i<arr.length;i++){    
      for(int j= 1 ; j<arr.length;j++){
          if(arr[j-1]>arr[j]){
              int temp = arr[j];
              arr[j] = arr[j-1];
              arr[j-1] = temp;
    
          }
     }
    }
    
    //冒泡排序
    for(int i=0; i<arr.length-1;i++){
    	for(int j=0; j<arr.length-1-i; j++){
    		int temp = arr[j];
    		arr[j] = arr[j+1];
    		arr[j+1] = temp;
        }
    }
    		
    

    4个内存相关, 一个重要术语(java思想中的):

    方法区:
        方法区主要存储一些静态数据(比如string类型,方法区中有个静态常量池,一般用String a = "xxx"格式的时候就会存在里面,这个时候String b = "xxx",会直接用存在常量池里面的值, 于是所以String a, b都等于同一个数值,比较起来也会是为true)
    堆: 存放引用数据
    堆栈:基本数据类型都在里面
    本地方法栈: 对应native方法-》java 中会用本地方法访问c或者c++语言
    程序计数器: 类似计算机中的程序计数器 用于计数, 其很重要, 详解可以了解 汇编语言等其他书籍都有提到

  • 相关阅读:
    P3970 [TJOI2014]上升子序列
    受欢迎的牛(Tarjan缩点模板)
    Y15BeTa的乱搞方法(占坑待填)
    Luogu P4145 上帝造题的七分钟2 / 花神游历各国
    Luogu P1525 【关押罪犯】
    Luogu P1077 摆花 NOIP2012pjT3
    Nowcoder deco的abs
    CSP-S前的芝士清单
    普天同庆
    线段树区改区查标记永久化板子
  • 原文地址:https://www.cnblogs.com/jwlxtf/p/7922231.html
Copyright © 2020-2023  润新知