java郝斌_Java入门学习笔记-郝斌

Java概述

java的起源和发展

java的特点

简单易学

java的风格类似于C++,因此C++程序员初次接触Java语言,就会感到很熟悉。从某种意义上讲,Java语言是C及C++语言的一个变种,因此,C++程序员可以很快地掌握Java编程技术。

Java摒弃了C/C++中容易引发程序错误并且难以掌握的一些特性,如指针、结构、以及内存管理等。

Java提供了丰富的类库,可以帮助我们很方便的开发Java程序。

Java是完全面向对象的语言,所以他支持继承、重载、多态等面向对象的特性。C++语言是面向过程和面向对象混合的语言,C是纯面向过程的语言。

安全性高

Java是一种强类型的语言,其类型检查比C/C++还要严格。类型检查帮助我们检查出许多开发早期出现的错误。

Java提供了垃圾回收机制,有效的避免了C/C++中最头疼的内存泄漏问题

java禁止非法内存访问,在没有授权的情况下是不能访问内存的。所有这些措施,使Java程序员不用再担心内存的崩溃。

总结:java去掉C和C++中影响程序健壮性的部分,使程序更安全,例如指针、内存申请和释放。

跨平台

Java作为一种网络语言,其源代码被编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。Java源程序被编译成一种与机器无关的字节码格式,在Java虚拟机上运行。

JVM的平台相关性:Java源代码和字节码是与机器无关的,JVM是与机器有关的。

多线程的

Java语言的一个重要特性就是在语言级支持多线程的程序设计。多线程就是使得一个程序能够同时执行多个任务。

java的应用领域

J2SE,主要用来开发桌面应用软件用的

J2ME嵌入式开发,像手机里的软件、掌上电脑等等

J2EE属于网络编程,JSP等等,就是做网站用到的编程。

java学习目标

了解程序语言及发展历史

熟练掌握java语言的语法规则

掌握java常用类的使用

掌握编程逻辑思维能力

1. 能看懂程序(流程-功能-试数)

2. 会调试程序

3. 理解并应用面向对象的设计思想

为将来学习J2EE做准备

环境变量的设置

为什么要设置path?

在dos的任何目录下我们都可以运行操作系统自带的命令

要想在dos下运行用户自己的程序,则必须进入到改程序的当前目录下方运行

如果希望在dos的任何目录下都可以运行自己创建的程序,则需要我们自己手动设置操作系统自带的环境变量path

path的设置

操作系统是利用path变量来寻找当前程序所存放的路径,并且以最先找到的为准

路径和路径之间用分号(;)隔开

set path:表示查看当前path变量中的内容

有关classpath设置的问题

操作系统是利用classpath变量来寻找当前后缀为class的字节码文件所存放的路径,并且以最先找到的为准

从JDK1.6开始,classpath不需要再手动设置

初学者可以暂时不去理会classpath的设置

如果要导入第三方的jar包,则需要手动设置classpath

java中的注释

三种注释: // /* */ /** */

//单行注解,不需要配对

/* */多行注解,需要配对

/** */用于将注解变为说明文档,用javadoc实现

java数据类型

基本数据类型:byte,short,int,long,float,double,char,boolean

引用数据类型:类(class),接口(interface),数组

输出数据的格式控制

输出控制符针对的数据类型

%dint, long int, short, byte

%x, %#X, %X, %#Xint, long int

%cchar

%ffloat, double

%sString

在java中打印语句有三种,分别是println,print,printf,三者之间有区别

print 一般的标准输出,不换行。将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后。

println 一般的标准输出,最后会换行。将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始。

printf 格式化输出的形式

//十六进制输出控制符

class TestHex

{

public static void main(String[] args)

{

int i = 253;

System.out.printf("%x\n", i); // 输出fd

System.out.printf("%X\n", i); // 输出FD

System.out.printf("%#x\n", i); //输出0xfd

System.out.printf("%#X\n", i); //输出0XFD

}

}

1

2

3

4

5

6

7

8

9

10

11

12

常量

整型常量

一个常量整数默认是int类型,如果数字过大,则必须要在末尾加L,否 则会出错

浮点常量

一个实数默认是double类型,如果希望一个实数是float类型,可以在数字后面加f(F)

将一个double类型数值赋给float类型变量,编译会报错

float x = 2.2; //error

float x = 2.2f; //OK

1

2

字符常量

字符常量必须用单引号括起来,Java中字符和字符串都用Unicode编码表示,在Unicode编码中一个字符占两个字节

特殊字符的常量表示法:

反斜线'\\'

退格'\b'

回车'\r'

制表符'\t'

换行'\n'

单引号'\''

1

2

3

4

5

6

//字符常量的'\uxxxx'表示

public class A

{

public static void main(String[] args)

{

char ch1 = '中';

char ch2 = '\u4e2d';//'\uxxxx'表示十六进制的xxxx所对应的Unicode编码下的字符

System.out.printf("%c %c\n", ch1, ch2); //运行结果:中 中

}

}

1

2

3

4

5

6

7

8

9

10

布尔类型

用boolean表示,不能写成bool

布尔型数据只有两个值true和false,且他们不对应与任何整数值

布尔型变量的定义如:boolean b = true;

布尔型数据只能参与逻辑关系运算:&& || == != !

注意:if while for 中进行真假判断时只能使用逻辑表达式

不同类型变量存储范围

byte占用一个字节,数字大小为-27 ~ 27-1

short占用两个字节,数字大小为-215~215-1

int占用四个字节,数字大小为-231~231-1

long占用八个字节,数字大小为-263~263-1

float占用四个字节,数字大小为1.4E-45 ~ 3.4E+38,-1.4E-45 ~ 3.4E+38。用二进制的质数形式表示一个浮点数的格式,如:101 * 22

double占有八个字节

char占用两个字节,数字大小为0~216-1, 是Unicode编码

boolean占一个字节,其取值只有两个,true和false

在把容量大的类型转换为容量小的类型时必须使用强制类型转换

整形、实型、字符型数据可以混合运算。运算中,不同类型的数据先转换为同一类型,然后进行运算,转换从低级到高级:

低----------------------------------->高

byte -> char -> int -> long -> float -> double

运算符

算术运算符:+ - * / %

关系运算符: > >= < <= != ==

逻辑运算符: ! && ||

赋值运算符:= += * = /= %=

位运算符:& | ~ ^

算术运算符(+)

+可以表示数值的相加,可以表示字符串的联接,如:“123” + “abc” 的结果是“123abc”,还能把非字符转换成字符串,如:“x” + 123;的结果是“x123”

System.out.println('a' + 1);//98

System.out.println("" + 'a' + 1);//a1

1

2

除法运算符(/)

除法/的运算结果和运算对象的数据类型有关,若两个数都是int,则商就是int,若商有小数,则截取小数部分;若两个对象中有一个或两个都是浮点型数据,则商也是浮点型,不截取小数部分

如:16/5 == 3, 16/5.0 == 3.20000, -13/4 == -4, -13/-3 == 4

取余运算符(%)

Java中允许取余运算符的被除数和除数是实数,但所得余数的正负只和被除数相同

double x = 1 % -0.3

System.out.println(x);// 0.10000

1

2

逻辑与逻辑或

当&& 左边表达式为假时,&&右边的表达式是不执行的。因为无论&&右边的表达式为真还是为假,整个表达式都为假

同理,当||表达式左边为真时,||右边的表达式是不会执行的

存储单位介绍

一个0或一个1就代表一位,一位只能存储一个0或一个1,8位代表一个字节,位用bit表示,字节用byte表示

位运算符(1)

& (按位与),把两个数字所有的二进制位相与

1 & 1 = 1, 1& 0 = 0, 0 & 0 0, 0 & 1 = 0

| (按位或), 把两个数字所有的二进制位相或

1 | 1 = 1, 1 | 0 = 1, 0 | 0 = 0, 0 | 1 = 1

~(按位取反), 把一个数字的所有二进制位取反

~ 1 = 0, ~ 0 = 1

^(按位异或), 把两个数字的所有二进制位异或

````1 ^ 1 = 0, 1 ^ 0 = 1, 0 ^ 1 = 1, 0 ^ 0 = 0``

int i = 11;// 0000 1011

int j = -2;// 0000 0010-> 1111 1101 -> 1111 1110

System.out.printf("%d\n", i & j);//10, 0000 1010

1

2

3

位运算符(2)

右移>>,在java中右移没有任何歧义。对于有符号数,在右移时,符号位将随同移动。当为正数时,最高位0,最高位补0,而为负数时,最高位为1,最高位补1

>>> 无论最高位是0还是1,左边移空的改为都补0

<

运算表达式书写规则:

不要写过于复杂的表达式

为了程序的可读性,可以适当的使用括号

流程控制

顺序

选择

if…else

Switch

循环

for

while

Do…while

————————————————

版权声明:本文为CSDN博主「凌凌凌凌凌☁️☁️」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_42135345/java/article/details/106302878

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值