java的基本程序设计结构

java常见概念

  • 对象:对象是类的一个实例,有状态和行为。
  • 类:类是一个模板,它描述一类对象的行为和状态。
  • 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
  • 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

基本语法

  • 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。
  • 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
  • 方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
  • 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。。
  • 主方法入口:所有的Java 程序由public static void main(String []args)方法开始执行。在java中main方法并没有给操作系统返回“退出代码”,如果main方法正常退出,那么java应用程序退出代码为 0 ,表示成功退出,强制终止代码可以调用System.exit方法

数据类型

1.整型

   int  : int数据类型是32位,在java中通过补码的形式表示数据其范围:最小值是-2,147,483,648(-2^31);最大值是2,147,483,647(2^31 - 1);

long :long数据类型是64位、有符号的以二进制补码表示的整数;最小值是-9,223,372,036,854,775,808(-2^63);最大值是9,223,372,036,854,775,807(2^63 -1);在表示long型数据是 通常在末尾 加‘l’  或 ‘L’  例如 long a = 1000l;

short : short数据类型是16位、有符号的以二进制补码表示的整数最小值是-32768(-2^15);最大值是32767(2^15 - 1);

byte:byte数据类型是8位、有符号的,以二进制补码表示的整数最小值是-128(-2^7)最大值是127(2^7-1)

注意:java中没有任何无符号类型 (unsighed)

2.浮点类型

 float : float数据类型是单精度、32位、符合IEEE 754标准的浮点数;float的精确范围为小数点后(6 ~ 7)位

double :double数据类型是双精度、64位、符合IEEE 754标准的浮点数;doube的精确范围为小数点后(15)位

在IEEE754中规定了以下表示溢出的三个特殊值

    正无穷

    负无穷

    NaN(not  a  number )

3.char类型 char类型是一个单一的16位Unicode字符,

4. boolean: 用于逻辑判断 true false


变量

1.变量初始化

                           声明一个变量后,必须使用赋值语句对其进行赋值,不能使用未初始化的变量,一下语句便是错误的

int a;
System.out.println(a);//变量未初始化,不能进行使用

2.常量

    java中使用关键字final表示这个变量只能赋值一次,就不能在更改了,通常常量的关键字全部大写。

3.枚举类型

    jdk1.5之后引入枚举类型,有时候变量的取值在一个有限的集合内时,这是就可以自定义枚举类型语法如下:

enum 类名{
   变量1
   变量2
…………
}

4.字符串

  1.String

     从概念上将String就是一个Unicode字符串序列,Java并没有内置的字符串类型,而是在标准java类库中提供了一个预定类String ,同时String类型并没有提供用于修改的方法

2.构建字符串

   由于String是不可变字符串每次构建都会生成一个新的String对象,所以StringBulider类就可以避免这个问题

StringBulider sb = new StringBulider();
sb.append("字符串")
……
String s = sb.toString();

3.输入和输出

   输入:构建Scanner对象  如 : Scanner sc = new Scanner(System.in); 构建Scanner对象,并且指定对象的输入为键盘System.in  这个输入流可以进行更改

Tips:因为输入是可见的,所以Scanner类不适合用来从控制台读取密码,JavaSe6特别引入 Console类实现这个目的

import java.io.Console;
 
/**
 * @author yiahgn
 * @create 2018-08-13
 **/
public class Test {
    public static void main(String[] args) {
       Console console = System.console();
        String name = console.readLine("please input your name:");
        char[] chars = console.readPassword("please input password:");
        String password = String.valueOf(chars);
        System.out.println("your name:"+name+" your password:"+password);
    }
}

   注意,只能通过命令行执行。IDE中会报空指针异常

5.大数值

  如果基本整数和浮点数精度不能满足要求,java.math包中提供的BigInteger和BigDecimal 这两个类可以处理包含任意长度数字序列的大数值

BigInteger a = BigInteger.valueOf(数值)

在处理大数值时不能使用算数运算符 + -  / * 处理大数据必须使用相应的方法 如 add  divide  multiply 

        6.数组

常用的几种方法:

     1.数组拷贝

//Arrays.copy( nums[]  ,legth)
int []  nums = {1,2,,3,4,5};
itn [] tmp = Arrays.copy(nums ,nums.legth);
//将数组nums中指定长度的数据拷贝到tmp数组中

   2.static type copyOfRange(type[] a, int start , int end)

     返回与a类型相同的数组,长度为length或者 end - start

3. static int  binarySearch(type [] a  , type v)

    static int binarySearch(type [] a  ,int start, int  end ,  type v)

    使用二分搜索算法查找值v 如果成功返回下标,否则返回一个负值

4. static void sort(type [] a)

   使用快速排序算法对数组进行排序

5. static void fill (type []  a  type v)

   将数组所有数据元素填充为v

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值