Java基础入门知识
以下是学习java必备的知识
目录
前言
一、Java入门
二、基本数据类型与数组
标识符与关键字
2. 基本数据类型
3. 类型转换运算
4. 运算符
5. 数组
6.控制结构(与c使用一致)
总结
前言
Java语言是面向对象编程语言,编写的软件与平台无关。具有语法简单、面向对象、稳定、与平台无关、多线程、动态等特点。
Java的诞生:1990年Sun公司由James Gosling(Java之父)领导的开发小组精心研究和努力促进了Java的诞生。
提示:java的基础语法与C语言大部分相同。
例如:c语言的运算符在java中完全一样。
一、Java入门
1.主体框架
c语言:引入一个头文件,main函数
#include <stdio.h>
int main()
{printf("hello world");return 0;
}
java:一个public的类(类名必须与文件名一致),main方法
public class Main{public static void main(String[] args){System.out.println("hello, world");}
}
注:java里面说的方法和c语言中的函数是一个意思。
2、 输入输出数据
c语言:
#include <stdio.h>//头文件
int main()
{int n;//声明一个变量scanf("%d",&n);//输入printf("n = %d\n",n);//输出return 0;
}
java:
import java.util.Scanner;//引入一个Scanner的包public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);//创建一个Scanner对象int n=scanner.nextInt();//输入System.out.println("n = "+n);//输出}
}
输入基本型数据
scanner对象调用不同方法读取用户输入的各种基本数据类型:
nextBoolean()、nextByte()、nextShort()、nextInt()、nextLong()、nextFloat()、nextDouble()
上述方法执行时都会阻塞,程序等待用户在命令行中输入数据并回车确定。
输出型数据
System.out.println()或 System.out.print()可输出串值、表达式的值,区别在于前者输出数据后换行,后者不换行。在Java中允许使用并置符号“+”将变量、表达式或一个常数值与一个字符串并置一起输出。
System.out.printf()【类似于C语言的printf()函数】输出数据。
3、注释:(与C相同)单行注释使用“//”,多行注释用“/**/”
4、编码风格:
Allmans风格(独行风格):即左、右大括号各自独占一行。
Kernighan风格(行尾风格):即左大括号在上一行的行尾,右大括号独占一格。
二、基本数据类型与数组
标识符与关键字
1、数字不可以开头,不可以使用关键字(delete/new等)、保留字(operator、const等),区分大小写,不能包含空格
2、包名:均大写;
类名、接口名:单词首字母大写;
3、变量名、方法名:第一个单词首字母小写,其他单词首字母大写
4、常量名:所有字母都大写,多单词用“_"
2. 基本数据类型
Java中有八种基本数据类型:
逻辑类型:boolean(常量:true、false)
整数类型:byte(1个字节)、short(2个字节)、int(4个字节)、long(以后缀L表示,8个字节)
字符类型:char(char型变量的取值范围是0~65535,2个字节)
浮点类型:float(单精度浮点型、以后缀F或f表示,4个字节)、double(双精度,以后缀D或d表示,8个字节)
3. 类型转换运算
基本数据类型的级别(从低到高):byte 、char、short(平级)=> int => long =>float =>double
1. 把级别低的变量赋给级别高的变量时,系统自动完成数据类型的转换。(自动类型转换)
1)表达式的结构的类型自动提升为操作数中最大的类型
2)boolean不参与转换
3)byte/short/char三者可以计算,但是有先转换为int类型,不会自动转换
例如:float x = 100;//100是int整型,赋给浮点型float
2. 把级别高的变量的值赋给级别低的变量时,必须使用类型转换运算。格式:(类型名)要转换的值;(强制类型转换)
例如:int x = (int)34.89;//34.89是float整型,赋给整型int
4. 运算符
算术运算符(+-*/%)、关系运算符(>.<.>=.<=.==)、逻辑运算符【短路与&&,短路或||,取反!;逻辑与&,逻辑或|,逻辑异或^】、赋值运算符【从右往左,左边只能是变量,复合赋值a+=b->a=a+b、三元运算符[条件表达式?表达式1:表达式2] 【与c语言用法相同】
算术混合运算的精度(从低到高的排序):byte -> short -> char -> int -> long -> float -> double
instanceof运算符:二目运算符,左面的操作元是一个对象,右面是一个类。当左面的对象是右面的类或子类创建的对象时,该运算符运算的结果是true,否则是false。
位运算
原码、反码、补码;
负数:补码=反码+1;反码=原码符号位不变,其他位取反;
正数和0原、反、补都一样
- 位运算符
- 按位与&:有0则0
- 按位或 |:有1则1
- 按位异或^:相同为0
- 按位取反~:0为1,1为0
- 算术右移>>:低位溢出,符号位不变,符号位补溢出位(即 /2)
- 算术左移<<:符号位不变,低位补0(即*2)
- 逻辑右移>>>:无符号右移:低位溢出,高位补0
进制转换
二进制:以0b或0B开头
八进制:以0开头
十六进制:以0x或0X开头
进制转换
二、八、十六进制转换成十进制
从最低位(右边),将每个位上的数提取出来,乘以2的(位数-1)次,然后求和,
十进制转换成二、八、十六进制
将该数不断除以2/8/16,直到商为0为止,然后将每步得到的余数倒过来,将是对应的二、八、十六进制。
二进制转成八(十六)进制
从最低位开始,将二进制数每三(四)位一组,转成对应的八(十六)进制即可
八(十六)进制转成二进制
5. 数组
一种数据类型(引用类型)
1、动态初始化:数据类型[] 数组名=new 数据类型[大小];int[] a=new int[10];
数组的引用:数组名[下标/索引]
2、动态初始化:
先声明数组:语法:数据类型 数组名[];int a[]; 或数据类型[] 数组名;int[] b;
再创建数组:语法:数组名=new 数据类型[大小];a=new int[10];
3、静态初始化:数据类型 数组名[]={元素值,元素值,元素值……};int a={1,2,3…};
数组细节
1、数组是多个相同类型数据的组合,实现对这些数据的统一管理 2、数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用 3、数组创建后,如果没有赋值,默认int 0,short 0,byte 0,long 0,float 0.0,char\u0000,boolean false,String null 4、使用数组的步骤:1、声明数组并开辟空间,2、给数组各个元素赋值3、使用数组 5、数组的下标是从0开始的 6、数组下标必须在指定范围内使用,否则报:下标越界异常,比如:int []arr=new int[5];则有效下标在0-4 7、数组属引用类型,数组型数据是对象(object)
8、数组扩容或者缩减都需要创建一个临时数组,复制原数组的内容,再将原数组的数组名指向临时数组
二维数组
1、动态初始化:
1)int arr[][]=new int[2][3];
2)声明二维数组:int arr2[][];再开空间:arr2=new int [2][3];
3)int[][]str=new int[3][];
for(int i=0;i<str.length;i++){
str[i]=new int[i+1];//给每个一维数组开空间
for(int j=0;j<str[i].length;j++){
str[i][j]=i+1;//赋值
}
}
2、静态初始化:类型 数组名[][]={{值1……},{值2……},……};
3、二维数组的声明方式:int[][]y或者int[]y[];或者int y[][];
int[]x,y[]; x是int类型的一维数组,y是int类型的二维数组
6.控制结构(与c使用一致)
- if条件分支语句
/*if语句*/ if(语句){//语句的表达式必须是boolean类型若干语句; }/*if-else 语句*/ if(表达式){若干语句; }else{若干语句; }/*if-else if-else语句*/ if(表达式){若干语句; }else if{若干语句; } …… else{若干语句; }
- 分支控制
switch(表达式) {case 常量值1:若干语句;break;case 常量值2:若干语句;break;……case 常量值n:若干语句;break;default:若干语句;}
switch语句中,“表达式”的值可以为byte、short、int、char和String类型
- 循环控制
/*for循环语句*/ for(表达式1;表达式2;表达式3){若干语句 }/*while循环语句*/ while(表达式){若干语句 }/*do-while循环语句*/ do{若干语句 }while();
- break与continue:break结束整个循环语句;continue结束本次循环,不再执行本次循环中continue后面的语句,而转入下一次循环。
for语句与数组
for(声明循环变量:数组的名字){…… }
注:1)声明的循环变量的类型必须和数组的类型相同。2)for(声明循环变量:数组的名字)中的“声明循环变量”必须是变量声明,不可以使用以声明过的变量。
总结
以上就是今天要讲的内容,本文仅仅介绍了Java的入门必备的知识,包含了数据类型、运算符、数组和语句结构
Java基础入门知识相关推荐
- 适合零基础的Java基础入门知识(部分,后续会不断更新)-看后觉得不错,请点赞收藏-咱们一起进步
JAVA入门 打开CMD Win+R 输入cmd. 按下回车键 Win+E 打开我的电脑 常见CMD命令 盘符名称+冒号 说明:盘符切换 举例:E:回车,表示切换到E盘 dir 说明:查看当前路径下的 ...
- JAVA基础入门(4)—— 标识符、关键字和字面值
前言 在上一节中,讲到了JAVA开端的一个HelloWorld小程序,其中对代码以及一些细节的知识点做了阐述.本节将继续对JAVA基础入门知识进行讲解演示,分别对JAVA中的标识符.关键字以及字面值进 ...
- Java基础入门-详细总结
Java基础入门知识总结 一.java基础 1.1 java基础知识 1.2java的基本数据类型 1.3运算符 1.4循环结构 1.5数组 二.面向对象 2.1方法 2.2面向对象 2.3内存管理 ...
- 大数据必学Java知识(一):Java基础入门语法和安装
Java基础入门语法和安装 1. Java概述 1.1 Java语言背景介绍(了解) 1.2 Java语言跨平台原理(理解) 1.3 JRE和JDK(记忆) 1.4 JDK的下载和安装(应用) 2. ...
- Java 基础入门,小白提升路线图
1000+最新Java面试题 获取学习路线资料啦 Java的基础知识就像我们所住的房子的地基,如果地基不稳,上面所盖的楼房再宏伟,也是没人敢去入住的,同理Java的基础不牢固,以后也很难成为真正意义上 ...
- Java基础入门:IDEA软件安装和软件初始化设置
IDEA是一个专门针对Java的集成开发工具(IDE),由Java语言编写.所以,需要有JRE运行环境并配置好环境变量. 它可以极大地提升我们的开发效率.可以自动编译,检查错误.在公司中,使用的就是I ...
- Java基础语法知识你真的都会吗?
第一阶段 JAVA基础知识 第二章 Java基础语法知识 在我们开始讲解程序之前,命名规范是我们不得不提的一个话题,虽说命名本应该是自由的,但是仍然有一定的"潜规则",通过你对命名 ...
- Java基础入门--学习笔记
Java基础入门教程 itheima–java基础小白教程 学习配套软件:eclipse 1.基础知识 (1)常用DOS命令:切换盘–>E:,cd–>进入文件,可多级,cd - --> ...
- java基础入门了解
java基础入门了解 Java发展简史 java语言的用处(数据存储,数据分析,数据处理) java被运用的程度 java语言的特点 java语言体系的结构 java语言运行机制 课后知识补充 Jav ...
最新文章
- 使用Nginx搭建前端静态服务器+文件服务器
- 大一计算机课程ppt作业,大学生计算机基础作业PPT.ppt
- linux tar zcf打包时注意事项
- ceph linux内核配置,centos 7.4-aarch64如何编译Ceph
- 开发机多用户 xdebug 远程调试 PhpStorm
- .NetCore技术研究-ConfigurationManager在单元测试下的坑
- 蓝桥杯2015初赛-加法变乘法-枚举
- 工具用途_小工具大用途:万能扳手、开瓶器、开箱器,DIY16种用法,玩过吗
- 达文西画中的数学密码
- 教育|教授因被指控“奴役”博士生遭学校解雇,反手将学校告上法庭并获赔偿......
- 螃蟹为什么横着走,今天为大家介绍为什么螃蟹横着走
- HBuilder创建app 基础
- ds6708 symbol 驱动_symbol DS6708设置及使用手册中文版.pdf
- Expected Array got Object
- 深入理解Flash Player的安全域
- android版本内存多少,内存大小决定Android系统版本?
- 英文版WIN7系统中打开软件中文乱码解决办法
- 华为手表开发:WATCH 3 Pro(17)传感器订阅指南针
- 为什么工具类App,都要做一个社区?
- Python 值班表设计