java基础1之java语言基础1

一、常量的概述和使用

A:什么是常量

* 在程序执行的过程中其值不可以发生改变 

B:Java中常量的分类

* 字面值常量
* 自定义常量(面向对象部分讲) 

C:字面值常量的分类

* 字符串常量 用双引号括起来的内容
* 整数常量      所有整数
* 小数常量      所有小数
* 字符常量      用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号
* 布尔常量      较为特殊,只有true和false
* 空常量           null(数组部分讲解)

二、不同进制数据的表现形式

A:二进制的数据表现形式

* 由0,1组成。以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了)

B:八进制的数据表现形式

* 由0,1,…7组成。以0开头

C:十进制的数据表现形式

* 由0,1,…9组成。整数默认是十进制的 

D:十六进制的数据表现形式

* 由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头 

三、变量的概述及格式

A:什么是变量

* 在程序执行的过程中,在某个范围内其值可以发生改变的量

B:变量的定义格式

* 数据类型 变量名 = 变量值;

C:为什么要定义变量

* 用来不断的存放同一类型的常量,并可以重复使用 

四、数据类型的概述和分类

A:为什么有数据类型

* Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间

B:Java中数据类型的分类

* 基本数据类型
* 引用数据类型 
* 面向对象部分讲解 

C:基本数据类型分类(4类8种)

* 整数型* byte    占一个字节     -128到127* short   占两个字       -2^15~2^15-1* int     占四个字节     -2^31~2^31-1* long    占八个字节     -2^63~2^63-1
* 浮点型* float   占四个字节    -3.403E38~3.403E38    单精度* double  占八个字节    -1.798E308~1.798E308  双精度
* 字符型* char    占两个字节    0~65535
* 布尔型* boolean   * boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小    

五、定义不同数据类型的变量

        //整数类型byte b = 10;            //占一个字节,-128 到 127short s = 20;           //占两个字节int i = 30;             //占四个字节         整数默认的数据类型就是int类型long x = 8888888888L;   //占八个字节 如果long类型后面加L进行标识最好加大L,因为小l太像一了//浮点类型float f = 12.3F;        //占四个字节double d = 33.4;        //占八个字节 小数默认的数据类型是double,double类型后面也可以用D或d标识,但是一般不加//字符类型char c = 'a';           //占两个字节System.out.println(c);//布尔类型boolean b1 = true;boolean b2 = false;

六、使用变量的注意事项

* a:作用域问题* 同一个区域不能使用相同的变量名 
* b:初始化值问题* 局部变量在使用之前必须赋值 
* c:一条语句可以定义几个变量* int a,b,c...; 

七、数据类型转换

a:隐式转换

int x = 3;
byte b = 4;
x = x + b;
System.out.println(x);   //输出为int类型的值7
Java中的默认转换规则
   * 取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算

b:强制转换

int x = 3;
byte b = 4;
b = (byte)(a + b); 
System.out.println(b);  //输出为byte类型的值7
强制转换的注意事项
* 如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同 

八、字符和字符串参与运算

        System.out.println('a' + 1);            //98,因为有ASCII码表,a字符对应的是int类型的97System.out.println((char)('a' + 1));  //bSystem.out.println("hello"+'a'+1);      //任何数据类型用+与字符串相连接都会产生新的字符串System.out.println('a'+1+"hello"); //98helloSystem.out.println(" 5 + 5 = " + (5 + 5));//5+5=10

九、算术运算符的基本用法

  • A:什么是运算符
    • 就是对常量和变量进行操作的符号。
  • B:运算符的分类
    • 算术运算符,赋值运算符,比较(关系或条件)运算符,逻辑运算符,位运算符,三目(元)运算符
  • C:算数运算符有哪些
    • +,-,*,/,%,++,–
  • D:注意事项:
    • a:+号在java中有三种作用,代表正号,做加法运算,字符串的连接符
    • b:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型
    • c:/获取的是除法操作的商,%获取的是除法操作的余数
    • %运算符
      • 当左边的绝对值小于右边绝对值时,结果是左边
      • 当左边的绝对值等于右边或是右边的倍数时,结果是0
      • 当左边的绝对值大于右边绝对值时,结果是余数
      • %运算符结果的符号只和左边有关系,与右边无关
      • 任何一个正整数%2结果不是0就是1可以用来当作切换条件

十、算术运算符++和–的用法

  • A:++,–运算符的作用
    • 自加(++)自减(–)运算
    • ++:自加。对原有的数据进行+1
    • –:自减。对原有的数据进行-1
  • B:案例演示
    • a:单独使用:
      • 放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)
    • b:参与运算使用:
      • 放在操作数的前面,先自增或者自减,然后再参与运算。
      • 放在操作数的后面,先参与运算,再自增或者自减。
//单独使用
int a = 3;
a++;                        //a = a + 1;
++a;                        //a = a + 1;
//参与运算使用
int a = 3;
int b;b = a++;                    //当++在变量后面的时候,会先将变量中的值取出做赋值操作,然后再自身加1
b = ++a;                    //当++在变量前面的时候,会先自身加1,然后在将结果赋值

十一、赋值运算符的基本用法

  • A:赋值运算符有哪些

    • a:基本的赋值运算符:=

      • 把=右边的数据赋值给左边。
    • b:扩展的赋值运算符:+=,-=,*=,/=,%=

      • += 把左边和右边做加法,然后赋值给左边。

十二、关系运算符的基本用法及其注意事项

  • A:关系运算符有哪些(比较运算符,条件运算符)
    • ==,!=,>,>=,<,<=
  • 注意事项:
    • 无论你的操作是简单还是复杂,结果是boolean类型。
    • “==”不能写成”=”。

附:java语言基础面试题

1.看下面的程序是否有问题,如果有问题,请指出并说明理由。

byte b1 = 3;  //①
byte b2 = 4;  //②
byte b3 = b1 + b2;  //③
byte b4 = 3 + 4;  //④
第③句会报错
* 从两方面去回答这个题* b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值* byte类型的变量在进行运算的时候,会自动类型提升为int类型 
第④句中:3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了

2.问哪句会报错,为什么

byte b = 10;//①
b++;//②  相当于b = (byte)(b + 1)
b = b + 1;//③  当byte与int进行混合运算的时候,会提升为int类型,两个int相加的结果还是int,赋值给byte会损失精度

3.看下面的程序是否有问题,如果有问题,请指出并说明理由。

short s=1;s = s+1;  //当short与int进行运算的时候,会提升为int类型,两个int类型相加的结果也是int类型
short s=1;s+=1;  //s = (short)(s + 1);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249699.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

w3c 跨域请求规范

w3c 官方跨域请求规范地址&#xff1a;https://www.w3.org/TR/cors/ 前段时间开发的一个api在IE8/9浏览器不能正常响应跨域请求&#xff0c;以下是解决问题中对跨域请求新的认识 1.复杂跨域 post请求在发送请求之前&#xff0c;会先发送options 请求&#xff0c;有的服务器拒绝…

python爬取豆瓣前25个影片内容的正则表达式练习

通过python正则表达式获取豆瓣top250的第一页的25个影片排名,影片名字,影片连接,导演,主演,上映日期,国家,剧情,评分,评价人数的内容 网页html内容: 1 <ol class"grid_view">2 <li>3 <div class"item">4 …

JavaScript 面向对象的程序设计1

一、理解对象 1.创建一个对象&#xff0c;然后给这个对象新建属性和方法。 ①常见的创建方式 var person new Object(); //创建一个Object 对象person.name XIE; //创建一个name 属性并赋值person.age 20; //创建一个age 属性并赋值person.sayName function () { //创建…

Zookeeper 使用

安装和配置详解 本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础&#xff0c;最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取&#xff0c;Zookeeper 的安装非常简单&#xff0c;下面将从单机模式和集群模式两个方面介绍 Zookeeper 的安装和配置。 单…

Asp.Net Core 工作单元 UnitOfWork UOW

Asp.Net Core 工作单元示例 来自 ABP UOW 去除所有无用特性 代码下载 &#xff1a; 去除所有无用特性版本&#xff0c;原生AspNetCore实现 差不多 2278 行代码&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1NoEIDSAPNr46xNHYEx9KCA 提取码&#xff1a;570i 包含C…

网站性能优化--CRP

网站性能优化–CRP 为了把HTML、CSS和JavaScript转化成活灵活现、绚丽多彩的网页&#xff0c;浏览器需要处理一系列的中间过程&#xff0c;优化性能其实就是了解这个过程中发生了什么-即CRP(Critical Rendering Path&#xff0c;关键渲染路径)。首先&#xff0c;我们从头开始快…

Dubbo+zookeeper基础讲解

一、dubbo是什么&#xff1f; 1&#xff09;本质&#xff1a;一个Jar包,一个分布式框架,&#xff0c;一个远程服务调用的分布式框架。 既然是新手教学&#xff0c;肯定很多同学不明白什么是分布式和远程服务调用&#xff0c;为什么要分布式&#xff0c;为什么要远程调用。我简…

What Are You Talking About HDU1075

一开始我也想用map 但是处理不好其他字符。。 看了题解 多多学习&#xff01; 很巧妙 就是粗暴的一个字符一个字符的来 分为小写字母和非小写字母两个部分 一但单词结束的时候就开始判断。 #include<bits/stdc.h> using namespace std;int main() {string a,b;map&l…

开通博客第一天

今天是开通博客第一天&#xff0c; 第一次写博客&#xff0c;也不知道写什么&#xff0c; 以后写点技术文&#xff0c;把我的经验分享给大家&#xff0c; 不对的地方请大家指正&#xff0c;一起进步。我要把我每遇到的难题以及学到的知识和技术为大家踩坑&#xff0c; 做研究。…

学习File API用于前端读取文件

1. File API简介 File API对于某些专门的网站的不可或缺的。现在常用它实现对文件的预览等功能。 File API规定怎么从硬盘上提取文件&#xff0c;直接交给在网页中运行中的Javascript代码。然后代码可以打开文件探究数据&#xff0c;无论是本地文件还是其他文件。注意&#x…

kafka笔记1

Kafka是一款基于发布和订阅的消息系统。一般被称为分布式提交日志或分布式流平台。 Kafka系统是按照一定的顺序持久化保存的&#xff0c;可以按需读取。 Kafka的数据单元被称为消息。类似于数据库中表的一行记录&#xff0c;消息由字节组成&#xff0c;所以没有特别的格式和含义…

Dubbo入门教程

服务端&#xff08;dubbo-server&#xff09; 1. pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaL…

NSAssert和NSParameterAssert

2016.05.05 18:34* 字数 861 阅读 5127评论 0喜欢 17https://www.jianshu.com/p/3072e174554fNSAssert和NSParameterAssert在开发环境中经常被使用&#xff0c;调试和验证代码参数的完整性&#xff0c;断言为真&#xff0c;则表明程序运行正常&#xff0c;而断言为假&#xff0…

【PAT】B1070 结绳(25 分)

此题太给其他25分的题丢人了&#xff0c;只值15分 注意要求最终结果最长&#xff0c;而且向下取整 #include<stdio.h> #include<algorithm> using namespace std; float arr[10005]; int main(){int N;scanf("%d",&N);for(int i0;i<N;i)//输入数据…

Java代码实现负载均衡五种算法

前言&#xff1a; 负载均衡是为了解决并发情况下&#xff0c;多个请求访问&#xff0c;把请求通过提前约定好的规则转发给各个server。其中有好几个种经典的算法。在用java代码编写这几种算法之前&#xff0c;先来了解一下负载均衡这个概念。 1.概念 负载&#xff0c;从字面…

使用Nodejs发送邮件

尝试用了Nodemailer来发送邮件&#xff0c;结果成功了&#xff0c;虽然是相对比较简单的&#xff0c;但还是记录一下吧。 Nodemailer 是 Node.js 应用程序的一个模块&#xff0c;可以方便地发送电子邮件。 使用 # 初始化 pageage.json 文件 $ npm init # 安装依赖 $ npm ins…

HTTP同源策略

同源策略是web安全策略中的一种&#xff0c;非常重要。 同源策略明确规定&#xff1a;不同域的客户端在没有明确授权的情况下&#xff0c;不能读写对方的资源。 简单说来就是web浏览器允许第一个页面的脚本访问访问第二个页面的数据&#xff0c;但是也只有在两个页面有相同的…

Spring Cloud 微服务架构

一、分布式服务框架的发展 1.1 第一代服务框架   代表&#xff1a;Dubbo(Java)、Orleans(.Net)等 特点&#xff1a;和语言绑定紧密 1.2 第二代服务框架   代表&#xff1a;Spring Cloud等 现状&#xff1a;适合混合式开发&#xff08;例如借助Steeltoe OSS可以让ASP.Ne…

JZOJ 4421. aplusb

4421. aplusb Time Limits: 1000 ms Memory Limits: 524288 KB Detailed Limits Goto ProblemSetDescription SillyHook要给小朋友出题了&#xff0c;他想&#xff0c;对于初学者&#xff0c;第一题肯定是ab 啊&#xff0c;但当他出完数据后神奇地发现.in不见了&#xff0c…

跨域资源共享CORS详解

最近深入了解了CORS的相关东西&#xff0c;觉得阮一峰老师的文章写得最详细易懂了&#xff0c;所有转载作为学习笔记。 原文地址&#xff1a;跨域资源共享 CORS 详解 CORS是W3C的一个标准&#xff0c;全称是跨域资源共享&#xff08;Cross-origin resource sharing&#xff0…