JAVA基础

//代码规范

①.类、方法的注释,要以javadoc的方式来写

②非javadoc的注释,往往是给代码维护者看的,着重讲述读者为什么这样写,如何修改,注意什么问题等。

③tab操作:选中,然后tab键盘,整体右移

                   选中,然后shift+tab,整体左移

④运算符和”=“两边习惯性加一个空格

⑤源文件使用utf-8编码

⑥一行不超过80个字符

//DOS命令 磁盘操作系统

  • 相对路径:从当前目录(文件夹)开始定位形成的一个路径
  • 绝对路径:从顶级目录(如d盘)开始定位,形成的路径
  • ..\即到上一级目录

DOS指令:1.查看当前目录是有什么内容:dir d:\abc2\test200

                   2.切换到其他盘下:盘符号:cd (cd /D c:)

                   3.切换到当前盘的其他目录下

                   4.切换到根目录 cd

//多行注释快捷键:crtl+\ (再次输入 取消注释)

一.功能的最小单元----一个一个的方法:特定任务的操作或代码块

public class Hello{

          public static void main(String【】 args){//程序的入口  void为无返回值

                     System.out.println("  ");

                     System.out.println(sum(1,2));

                     }

         public static int sum(int a,int b){

                    return a+b;//方法体

         }    //方法

}

方法重载:同一个类中,出现多个方法的名相同,但是他们的形参列表是不同的,与返回值无关

无返回值的方法中可以直接通过return立即结束当前方法的执行

二.基本语法

1.注释 (解释代码,不影响程序执行)编译后去掉了注释,即class文件中没有注释

(1)单行注释    //

(2)多行注释    /* */

(3)文档注释    /**

                            *

                            */     一般用在类、方法、成员变量上

                           注释内容可以被jdk提供的javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档

例:

/**

 *@author 小明

 *@version 1.0

*/

javadoc标签:

标明一个类的作者:@author

指明一个过期的类或成员:@deprecated

指明当前文档根目录的路径:{@docRoot}

指明一个类抛出的异常:@exception

从直接父类继承的注释:{@inheritDoc}

......

2.字面量(程序中的书写格式)

①整型:1int

②浮点型(小数):1.3  double(8字节) float (4字节) [java的浮点型常量默认为double型,声明float型常量,其后需加f或F        通常使用double(更精确)

double num = 8.1 / 3;---------结果为接近2.7的小数

比较(8.1/3)与(2.7)是否相等:Math.abs(num2-num1)<某个精度范围 即相等

.123(可省略0.但不能省略小数点)

科学计数法:5e3

③布尔型:true/false 

④字符型    char(2个字节) 单个字符 char的本质是一个整数 char c1 = 'a';-----System.out.pritln((int)c1)----97  

char字符可以参与运算

⑤转义字符 \t \n \r ......

3.变量(内存中的一块区域,装程序要处理的数据)

  • 格式:数据类型 变量名称 = 数据;(= 为赋值)

  • 变量里装的数据可以替换

变量里数据的存储原理:二进制(逢2进1)字符存的是对应的ascii码值(转换为二进制)

4.类型转换

  1. 自动类型转换:类型范围小的变量,可以直接赋给类型范围大的变量 (byte-short-int-long-float-double)(char-int-long-float-double)
  2. 强制类型转换:范围大的变量到范围小的变量  类型 变量2 = (类型)变量1;

***当有多种类型的数据混合运算时,系统首先将所有的数据转换成容量大的那种数据类型,然后再进行运算。

****(byte、short)与char不会相互自动转换

****byte,short,char三者可以计算,在计算时首先转换成int(不管是单独类型运算还是混合运算,都将转换成int)

***boolean不参与运算

****表达式结果的类型自动提升为操作数中最大的类型

****强制类型转换使用时加上(),但可能造成精度损失或溢出

****强转符号()只针对最近的操作数有效

5.基本数据类型与字符串的转换

  •  基本数据类型转字符串:String s1 = n1 + " ";
  • 字符串转基本数据类型:String s2 = "123";   int num = Integer.parseInt(s2);
  • 怎么把字符串转成字符char(含义是指把字符串中第一个字符得到)System.out.println(s.charAt(0));--->得到字符‘1’

6.运算符

  1. 算数运算符
  2. 逻辑运算符 (boolean)  ------------默认为false
  3. 关系运算符boolean
  4.  赋值运算符:&与(全1为1)  | 或(全0为0)  !非  ^异或     双与&&(短路与)左边为false 右边不执行          双或||(短路或)左边为true 右边不执行
  5. 三元运算符   a>b?a:b

*****运算符优先级(只有单目运算++a和赋值运算的运算方向为从右向左)

按位异或:相同为0 相反为1

7.原码、反码、补码

①二进制的最高位是符号位 0表示正 1表示负

②正数的原码,反码,补码都一样

③负数的反码=他的原码符号位不变,其他位取反

④负数的补码=他的反码+1;负数的反码=负数的补码-1;

⑤0的反码、补码都是0;

⑥java没有无符号数

⑦在计算机运算时,都是以补码的方式来运算的

⑧当我们看运算结果是,要看它的原码

8.输入输出

  • 输出:System.out.println("  ");
  • 输入:*****(固定语句:)Scanner input = new Scanner(System.in);

                                                  int s = input.nextInt();//接收用户输入的

                                                  String s = input.next();

9.进制

  • 二进制 
  • 八进制
  • 十进制
  • 十六进制 (0x或0X开头)

三.程序流程控制

  • 顺序结构:程序从上到下逐行的执行
  • 分支结构(if switch)

int c = 5;

swith(c){

        case 2 :

                   System.out.println("ok1");

                   break;//如果没有break,程序将会继续向下执行

        case 5:

                  System.out.println("ok2");

                  break;

        default :

                  System.out.println("ok3");

                  break;

 }

***swith(表达式)中表达式的返回值必须为(byte short int char enum String)

  • 循环结构(for while do-while)
  • break:终止当前循环,跳出循环体,继续执行循环之后的代码
  • continue:跳过当前迭代的剩余代码,直接进入下一次循环的条件判断
  • return:跳出所在方法(若return写在主方法里,则为退出程序)

四.数组

可以存放多个同一类型的数据 

数组动态初始化:int a[ ] = new int[5]; 分配存储空间,可以存储内存

a.length表示数组长度

public class suijishu{
    public static void main(String[] args){
        double score[] = new double[5];
        Scanner sc = new Scanner(System.in);
        for(int i = 0 ; i < 5; i ++){
            System.out.println("请输入第"+(i+1)+"个元素");
            score[i] = sc.nextDouble();
        }
}

声明数组:int a[ ]或 int [] a;  并未分配空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值